From 11de47b176d5acccfbcc4227ca589e433baa93fe Mon Sep 17 00:00:00 2001 From: Patrice Bechard Date: Wed, 27 Aug 2025 12:32:25 -0400 Subject: [PATCH 1/3] add up to date azure openai models --- src/agentlab/agents/generic_agent/__init__.py | 28 ++++++++ .../agents/generic_agent/agent_configs.py | 68 +++++++++++++++++++ src/agentlab/llm/chat_api.py | 15 ++-- src/agentlab/llm/llm_configs.py | 39 +++++++++-- 4 files changed, 136 insertions(+), 14 deletions(-) diff --git a/src/agentlab/agents/generic_agent/__init__.py b/src/agentlab/agents/generic_agent/__init__.py index d67baa1d..5b2b4d31 100644 --- a/src/agentlab/agents/generic_agent/__init__.py +++ b/src/agentlab/agents/generic_agent/__init__.py @@ -22,6 +22,20 @@ AGENT_4o_MINI, AGENT_4o_MINI_VISION, AGENT_4o_VISION, + AGENT_AZURE_4o_MINI, + AGENT_AZURE_4o, + AGENT_AZURE_4o_VISION, + AGENT_AZURE_4o_MINI_VISION, + AGENT_AZURE_41, + AGENT_AZURE_41_MINI, + AGENT_AZURE_41_VISION, + AGENT_AZURE_41_MINI_VISION, + AGENT_AZURE_5, + AGENT_AZURE_5_MINI, + AGENT_AZURE_5_NANO, + AGENT_AZURE_5_VISION, + AGENT_AZURE_5_MINI_VISION, + AGENT_AZURE_5_NANO_VISION, AGENT_o1_MINI, AGENT_o3_MINI, FLAGS_GPT_4o, @@ -46,6 +60,20 @@ "AGENT_37_SONNET", "AGENT_4o_VISION", "AGENT_4o_MINI_VISION", + "AGENT_AZURE_4o_MINI", + "AGENT_AZURE_4o", + "AGENT_AZURE_4o_VISION", + "AGENT_AZURE_4o_MINI_VISION", + "AGENT_AZURE_41", + "AGENT_AZURE_41_MINI", + "AGENT_AZURE_41_VISION", + "AGENT_AZURE_41_MINI_VISION", + "AGENT_AZURE_5", + "AGENT_AZURE_5_MINI", + "AGENT_AZURE_5_NANO", + "AGENT_AZURE_5_VISION", + "AGENT_AZURE_5_MINI_VISION", + "AGENT_AZURE_5_NANO_VISION", "AGENT_CLAUDE_SONNET_35_VISION", "AGENT_GPT5_MINI", ] diff --git a/src/agentlab/agents/generic_agent/agent_configs.py b/src/agentlab/agents/generic_agent/agent_configs.py index 253daaee..2f175705 100644 --- a/src/agentlab/agents/generic_agent/agent_configs.py +++ b/src/agentlab/agents/generic_agent/agent_configs.py @@ -262,6 +262,39 @@ chat_model_args=CHAT_MODEL_ARGS_DICT["openai/gpt-4o-mini-2024-07-18"], flags=FLAGS_GPT_4o, ) + +AGENT_AZURE_4o_MINI = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4o-mini-2024-07-18"], + flags=FLAGS_GPT_4o, +) +AGENT_AZURE_4o = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4o-2024-08-06"], + flags=FLAGS_GPT_4o, +) +AGENT_AZURE_41 = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4.1-2025-04-14"], + flags=FLAGS_GPT_4o, +) +AGENT_AZURE_41_MINI = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4.1-mini-2025-04-14"], + flags=FLAGS_GPT_4o, +) + +AGENT_AZURE_5 = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-5-2025-08-07"], + flags=FLAGS_GPT_4o, +) + +AGENT_AZURE_5_MINI = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-5-mini-2025-08-07"], + flags=FLAGS_GPT_4o, +) + +AGENT_AZURE_5_NANO = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-5-nano-2025-08-07"], + flags=FLAGS_GPT_4o, +) + AGENT_CLAUDE_SONNET_35 = GenericAgentArgs( chat_model_args=CHAT_MODEL_ARGS_DICT["openrouter/anthropic/claude-3.5-sonnet:beta"], flags=FLAGS_GPT_4o, @@ -298,6 +331,41 @@ flags=FLAGS_GPT_4o_VISION, ) +AGENT_AZURE_4o_VISION = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4o-2024-08-06"], + flags=FLAGS_GPT_4o_VISION, +) + +AGENT_AZURE_4o_MINI_VISION = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4o-mini-2024-07-18"], + flags=FLAGS_GPT_4o_VISION, +) + +AGENT_AZURE_41_VISION = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4.1-2025-04-14"], + flags=FLAGS_GPT_4o_VISION, +) + +AGENT_AZURE_41_MINI_VISION = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-4.1-mini-2025-04-14"], + flags=FLAGS_GPT_4o_VISION, +) + +AGENT_AZURE_5_VISION = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-5-2025-08-07"], + flags=FLAGS_GPT_4o_VISION, +) + +AGENT_AZURE_5_MINI_VISION = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-5-mini-2025-08-07"], + flags=FLAGS_GPT_4o_VISION, +) + +AGENT_AZURE_5_NANO_VISION = GenericAgentArgs( + chat_model_args=CHAT_MODEL_ARGS_DICT["azure/gpt-5-nano-2025-08-07"], + flags=FLAGS_GPT_4o_VISION, +) + AGENT_CLAUDE_SONNET_35_VISION = GenericAgentArgs( chat_model_args=CHAT_MODEL_ARGS_DICT["openrouter/anthropic/claude-3.5-sonnet:beta"], flags=FLAGS_GPT_4o_VISION, diff --git a/src/agentlab/llm/chat_api.py b/src/agentlab/llm/chat_api.py index dc9667b5..3a069c5b 100644 --- a/src/agentlab/llm/chat_api.py +++ b/src/agentlab/llm/chat_api.py @@ -9,7 +9,7 @@ import anthropic import openai from huggingface_hub import InferenceClient -from openai import NOT_GIVEN, AzureOpenAI, OpenAI +from openai import NOT_GIVEN, OpenAI import agentlab.llm.tracking as tracking from agentlab.llm.base_api import AbstractChatModel, BaseModelArgs @@ -110,14 +110,11 @@ def make_model(self): class AzureModelArgs(BaseModelArgs): """Serializable object for instantiating a generic chat model with an Azure model.""" - deployment_name: str = None - def make_model(self): return AzureChatModel( model_name=self.model_name, temperature=self.temperature, max_tokens=self.max_new_tokens, - deployment_name=self.deployment_name, log_probs=self.log_probs, ) @@ -398,30 +395,28 @@ def __init__( self, model_name, api_key=None, - deployment_name=None, temperature=0.5, max_tokens=100, max_retry=4, min_retry_wait_time=60, log_probs=False, ): - api_key = api_key or os.getenv("AZURE_OPENAI_API_KEY") endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") assert endpoint, "AZURE_OPENAI_ENDPOINT has to be defined in the environment" client_args = { - "azure_deployment": deployment_name, - "azure_endpoint": endpoint, - "api_version": "2024-02-01", + "base_url": endpoint, + "default_query": {"api-version": "preview"}, } super().__init__( model_name=model_name, api_key=api_key, + api_key_env_var="AZURE_OPENAI_API_KEY", temperature=temperature, max_tokens=max_tokens, max_retry=max_retry, min_retry_wait_time=min_retry_wait_time, - client_class=AzureOpenAI, + client_class=OpenAI, client_args=client_args, pricing_func=tracking.get_pricing_openai, log_probs=log_probs, diff --git a/src/agentlab/llm/llm_configs.py b/src/agentlab/llm/llm_configs.py index 3d5828b9..ef41eb5a 100644 --- a/src/agentlab/llm/llm_configs.py +++ b/src/agentlab/llm/llm_configs.py @@ -127,14 +127,12 @@ ), "azure/gpt-35-turbo/gpt-35-turbo": AzureModelArgs( model_name="gpt-35-turbo", - deployment_name="gpt-35-turbo", max_total_tokens=8_192, max_input_tokens=7500, max_new_tokens=500, ), "azure/gpt-4o-2024-05-13": AzureModelArgs( model_name="gpt-4o", - deployment_name="gpt-4o-2024-05-13", max_total_tokens=128_000, max_input_tokens=100_000, max_new_tokens=16_384, @@ -142,7 +140,6 @@ ), "azure/gpt-4o-2024-08-06": AzureModelArgs( model_name="gpt-4o", - deployment_name="gpt-4o-2024-08-06", max_total_tokens=128_000, max_input_tokens=128_000, max_new_tokens=16_384, @@ -150,12 +147,46 @@ ), "azure/gpt-4o-mini-2024-07-18": AzureModelArgs( model_name="gpt-4o-mini", - deployment_name="gpt-4o-mini-2024-07-18", max_total_tokens=128_000, max_input_tokens=128_000, max_new_tokens=16_384, vision_support=True, ), + "azure/gpt-4.1-2025-04-14": AzureModelArgs( + model_name="gpt-4.1", + max_total_tokens=128_000, + max_input_tokens=128_000, + max_new_tokens=16_384, + vision_support=True, + ), + "azure/gpt-4.1-mini-2025-04-14": AzureModelArgs( + model_name="gpt-4.1-mini", + max_total_tokens=128_000, + max_input_tokens=128_000, + max_new_tokens=16_384, + vision_support=True, + ), + "azure/gpt-5-2025-08-07": AzureModelArgs( + model_name="gpt-5", + max_total_tokens=256_000, + max_input_tokens=256_000, + max_new_tokens=16_384, + vision_support=True, + ), + "azure/gpt-5-mini-2025-08-07": AzureModelArgs( + model_name="gpt-5-mini", + max_total_tokens=256_000, + max_input_tokens=256_000, + max_new_tokens=16_384, + vision_support=True, + ), + "azure/gpt-5-nano-2025-08-07": AzureModelArgs( + model_name="gpt-5-nano", + max_total_tokens=256_000, + max_input_tokens=256_000, + max_new_tokens=16_384, + vision_support=True, + ), # ---------------- Anthropic ----------------# "anthropic/claude-3-7-sonnet-20250219": AnthropicModelArgs( model_name="claude-3-7-sonnet-20250219", From a257eee7a9bb3e3431421eaec543ad1ee48aaf04 Mon Sep 17 00:00:00 2001 From: Patrice Bechard Date: Wed, 27 Aug 2025 12:55:49 -0400 Subject: [PATCH 2/3] update llm configs for gpt-5 --- src/agentlab/llm/llm_configs.py | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/agentlab/llm/llm_configs.py b/src/agentlab/llm/llm_configs.py index ef41eb5a..86d088a1 100644 --- a/src/agentlab/llm/llm_configs.py +++ b/src/agentlab/llm/llm_configs.py @@ -20,18 +20,26 @@ ] CHAT_MODEL_ARGS_DICT = { + "openai/gpt-5-2025-08-07": OpenAIModelArgs( + model_name="gpt-5-2025-08-07", + max_total_tokens=400_000, + max_input_tokens=272_000, + max_new_tokens=16_384, + temperature=1, # gpt-5 supports temperature of 1 only + vision_support=True, + ), "openai/gpt-5-nano-2025-08-07": OpenAIModelArgs( model_name="gpt-5-nano-2025-08-07", - max_total_tokens=128_000, - max_input_tokens=128_000, + max_total_tokens=400_000, + max_input_tokens=272_000, max_new_tokens=16_384, temperature=1, # gpt-5 supports temperature of 1 only vision_support=True, ), "openai/gpt-5-mini-2025-08-07": OpenAIModelArgs( model_name="gpt-5-mini-2025-08-07", - max_total_tokens=128_000, - max_input_tokens=128_000, + max_total_tokens=400_000, + max_input_tokens=272_000, max_new_tokens=16_384, temperature=1, # gpt-5 supports temperature of 1 only vision_support=True, @@ -111,20 +119,6 @@ max_new_tokens=64_000, temperature=1e-1, ), - "openai/gpt-5-nano-2025-08-07": OpenAIModelArgs( - model_name="gpt-5-nano-2025-08-07", - max_total_tokens=400_000, - max_input_tokens=400_000 - 4_000, - max_new_tokens=4_000, - temperature=1, # temperature param not supported by gpt-5 - ), - "openai/gpt-5-mini-2025-08-07": OpenAIModelArgs( - model_name="gpt-5-mini-2025-08-07", - max_total_tokens=400_000, - max_input_tokens=400_000 - 4_000, - max_new_tokens=4_000, - temperature=1, # temperature param not supported by gpt-5 - ), "azure/gpt-35-turbo/gpt-35-turbo": AzureModelArgs( model_name="gpt-35-turbo", max_total_tokens=8_192, @@ -171,6 +165,7 @@ max_total_tokens=256_000, max_input_tokens=256_000, max_new_tokens=16_384, + temperature=1, # temperature param not supported by gpt-5 vision_support=True, ), "azure/gpt-5-mini-2025-08-07": AzureModelArgs( @@ -178,6 +173,7 @@ max_total_tokens=256_000, max_input_tokens=256_000, max_new_tokens=16_384, + temperature=1, # temperature param not supported by gpt-5 vision_support=True, ), "azure/gpt-5-nano-2025-08-07": AzureModelArgs( @@ -185,6 +181,7 @@ max_total_tokens=256_000, max_input_tokens=256_000, max_new_tokens=16_384, + temperature=1, # temperature param not supported by gpt-5 vision_support=True, ), # ---------------- Anthropic ----------------# From b907f4cfb7d8ad844f071de6dfa8088ebf09d07a Mon Sep 17 00:00:00 2001 From: Patrice Bechard Date: Wed, 27 Aug 2025 13:12:34 -0400 Subject: [PATCH 3/3] update token limits following Azure's documentation --- src/agentlab/llm/llm_configs.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/agentlab/llm/llm_configs.py b/src/agentlab/llm/llm_configs.py index 86d088a1..bb40d069 100644 --- a/src/agentlab/llm/llm_configs.py +++ b/src/agentlab/llm/llm_configs.py @@ -23,24 +23,24 @@ "openai/gpt-5-2025-08-07": OpenAIModelArgs( model_name="gpt-5-2025-08-07", max_total_tokens=400_000, - max_input_tokens=272_000, - max_new_tokens=16_384, + max_input_tokens=256_000, + max_new_tokens=128_000, temperature=1, # gpt-5 supports temperature of 1 only vision_support=True, ), "openai/gpt-5-nano-2025-08-07": OpenAIModelArgs( model_name="gpt-5-nano-2025-08-07", max_total_tokens=400_000, - max_input_tokens=272_000, - max_new_tokens=16_384, + max_input_tokens=256_000, + max_new_tokens=128_000, temperature=1, # gpt-5 supports temperature of 1 only vision_support=True, ), "openai/gpt-5-mini-2025-08-07": OpenAIModelArgs( model_name="gpt-5-mini-2025-08-07", max_total_tokens=400_000, - max_input_tokens=272_000, - max_new_tokens=16_384, + max_input_tokens=256_000, + max_new_tokens=128_000, temperature=1, # gpt-5 supports temperature of 1 only vision_support=True, ), @@ -162,25 +162,25 @@ ), "azure/gpt-5-2025-08-07": AzureModelArgs( model_name="gpt-5", - max_total_tokens=256_000, + max_total_tokens=400_000, max_input_tokens=256_000, - max_new_tokens=16_384, + max_new_tokens=128_000, temperature=1, # temperature param not supported by gpt-5 vision_support=True, ), "azure/gpt-5-mini-2025-08-07": AzureModelArgs( model_name="gpt-5-mini", - max_total_tokens=256_000, + max_total_tokens=400_000, max_input_tokens=256_000, - max_new_tokens=16_384, + max_new_tokens=128_000, temperature=1, # temperature param not supported by gpt-5 vision_support=True, ), "azure/gpt-5-nano-2025-08-07": AzureModelArgs( model_name="gpt-5-nano", - max_total_tokens=256_000, + max_total_tokens=400_000, max_input_tokens=256_000, - max_new_tokens=16_384, + max_new_tokens=128_000, temperature=1, # temperature param not supported by gpt-5 vision_support=True, ),