From d6367b2d7eda41ab0b07525d86a8ef8af83ce134 Mon Sep 17 00:00:00 2001 From: Adrian Stritzinger Date: Mon, 14 Jul 2025 12:40:34 +0200 Subject: [PATCH] fix: override beta flag settings - fixes using `AndroidVisionAgent.act()` with Claude 4 behind AskUI API and empty betas (default) - keep default betas on inference side as `["computer_20241022"]` to be backwards compatible - allow overriding with empty list --- src/askui/agent_base.py | 2 +- src/askui/android_agent.py | 2 ++ src/askui/models/anthropic/messages_api.py | 4 +++- src/askui/models/askui/inference_api.py | 4 +++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/askui/agent_base.py b/src/askui/agent_base.py index a1e4439e..bb72357c 100644 --- a/src/askui/agent_base.py +++ b/src/askui/agent_base.py @@ -107,7 +107,7 @@ def _init_model_choice( "locate": model_choice.get("locate", ModelName.ASKUI), } - @telemetry.record_call(exclude={"goal", "on_message"}) + @telemetry.record_call(exclude={"goal", "on_message", "settings"}) @validate_call def act( self, diff --git a/src/askui/android_agent.py b/src/askui/android_agent.py index 141adca9..6fcb6d35 100644 --- a/src/askui/android_agent.py +++ b/src/askui/android_agent.py @@ -105,6 +105,7 @@ messages=MessageSettings( model=ModelName.ANTHROPIC__CLAUDE__3_5__SONNET__20241022.value, system=_SYSTEM_PROMPT, + betas=[], ), ) @@ -113,6 +114,7 @@ model=ModelName.CLAUDE__SONNET__4__20250514.value, system=_SYSTEM_PROMPT, thinking={"type": "enabled", "budget_tokens": 2048}, + betas=[], ), ) diff --git a/src/askui/models/anthropic/messages_api.py b/src/askui/models/anthropic/messages_api.py index 6866f7e9..5418984b 100644 --- a/src/askui/models/anthropic/messages_api.py +++ b/src/askui/models/anthropic/messages_api.py @@ -139,7 +139,9 @@ def create_message( tools=tools.to_params() if tools else NOT_GIVEN, max_tokens=max_tokens or self._settings.messages.max_tokens, model=ANTHROPIC_MODEL_MAPPING[model], - betas=betas or self._settings.messages.betas, + betas=betas + if not isinstance(betas, NotGiven) + else self._settings.messages.betas, system=system or self._settings.messages.system, thinking=thinking or self._settings.messages.thinking, tool_choice=tool_choice or self._settings.messages.tool_choice, diff --git a/src/askui/models/askui/inference_api.py b/src/askui/models/askui/inference_api.py index ab480f5b..e01d3e6e 100644 --- a/src/askui/models/askui/inference_api.py +++ b/src/askui/models/askui/inference_api.py @@ -230,7 +230,9 @@ def create_message( "tools": tools.to_params() if tools else NOT_GIVEN, "max_tokens": max_tokens or self._settings.messages.max_tokens, "model": model, - "betas": betas or self._settings.messages.betas, + "betas": betas + if not isinstance(betas, NotGiven) + else self._settings.messages.betas, "system": system or self._settings.messages.system, "thinking": thinking or self._settings.messages.thinking, "tool_choice": tool_choice or self._settings.messages.tool_choice,