fix(llms): add is_reasoning_model config override for versioned deployments (#5327)
Co-authored-by: kartik-mem0 <kartik.labhshetwar@mem0.ai>
This commit is contained in:
@@ -23,6 +23,7 @@ class AzureOpenAIConfig(BaseLlmConfig):
|
||||
vision_details: Optional[str] = "auto",
|
||||
reasoning_effort: Optional[str] = None,
|
||||
http_client_proxies: Optional[dict] = None,
|
||||
is_reasoning_model: Optional[bool] = None,
|
||||
# Azure OpenAI-specific parameters
|
||||
azure_kwargs: Optional[Dict[str, Any]] = None,
|
||||
):
|
||||
@@ -40,6 +41,10 @@ class AzureOpenAIConfig(BaseLlmConfig):
|
||||
vision_details: Vision detail level, defaults to "auto"
|
||||
reasoning_effort: Effort level for reasoning models ("low", "medium", "high"), defaults to None
|
||||
http_client_proxies: HTTP client proxy settings, defaults to None
|
||||
is_reasoning_model: Explicit override for reasoning-model detection.
|
||||
None (default) uses the name-based heuristic. Set True to drop
|
||||
max_tokens/temperature (e.g. for versioned Azure deployments like
|
||||
"gpt-5.4-nano-2026-03-17"), or False to force standard params.
|
||||
azure_kwargs: Azure-specific configuration, defaults to None
|
||||
"""
|
||||
# Initialize base parameters
|
||||
@@ -54,6 +59,7 @@ class AzureOpenAIConfig(BaseLlmConfig):
|
||||
vision_details=vision_details,
|
||||
reasoning_effort=reasoning_effort,
|
||||
http_client_proxies=http_client_proxies,
|
||||
is_reasoning_model=is_reasoning_model,
|
||||
)
|
||||
|
||||
# Azure OpenAI-specific parameters
|
||||
|
||||
@@ -25,6 +25,7 @@ class BaseLlmConfig(ABC):
|
||||
vision_details: Optional[str] = "auto",
|
||||
reasoning_effort: Optional[str] = None,
|
||||
http_client_proxies: Optional[Union[Dict, str]] = None,
|
||||
is_reasoning_model: Optional[bool] = None,
|
||||
):
|
||||
"""
|
||||
Initialize a base configuration class instance for the LLM.
|
||||
@@ -54,6 +55,14 @@ class BaseLlmConfig(ABC):
|
||||
Defaults to None (uses the model's default reasoning effort)
|
||||
http_client_proxies: Proxy settings for HTTP client.
|
||||
Can be a dict or string. Defaults to None
|
||||
is_reasoning_model: Explicit override for reasoning-model detection.
|
||||
When None (default), the model is classified automatically from its
|
||||
name (preserving existing behavior). Set to True to force the
|
||||
reasoning-model parameter set (drop max_tokens and temperature),
|
||||
or False to force the standard parameter set. Useful for
|
||||
deployments with custom/versioned model names (e.g. Azure
|
||||
"gpt-5.4-nano-2026-03-17") that the name-based heuristic cannot
|
||||
recognize. Defaults to None
|
||||
"""
|
||||
self.model = model
|
||||
self.temperature = temperature
|
||||
@@ -64,4 +73,5 @@ class BaseLlmConfig(ABC):
|
||||
self.enable_vision = enable_vision
|
||||
self.vision_details = vision_details
|
||||
self.reasoning_effort = reasoning_effort
|
||||
self.is_reasoning_model = is_reasoning_model
|
||||
self.http_client = httpx.Client(proxies=http_client_proxies) if http_client_proxies else None
|
||||
|
||||
@@ -22,6 +22,7 @@ class OpenAIConfig(BaseLlmConfig):
|
||||
vision_details: Optional[str] = "auto",
|
||||
reasoning_effort: Optional[str] = None,
|
||||
http_client_proxies: Optional[dict] = None,
|
||||
is_reasoning_model: Optional[bool] = None,
|
||||
# OpenAI-specific parameters
|
||||
openai_base_url: Optional[str] = None,
|
||||
models: Optional[List[str]] = None,
|
||||
@@ -47,6 +48,9 @@ class OpenAIConfig(BaseLlmConfig):
|
||||
vision_details: Vision detail level, defaults to "auto"
|
||||
reasoning_effort: Effort level for reasoning models ("low", "medium", "high"), defaults to None
|
||||
http_client_proxies: HTTP client proxy settings, defaults to None
|
||||
is_reasoning_model: Explicit override for reasoning-model detection.
|
||||
None (default) uses the name-based heuristic. Set True to drop
|
||||
max_tokens/temperature, or False to force standard params.
|
||||
openai_base_url: OpenAI API base URL, defaults to None
|
||||
models: List of models for OpenRouter, defaults to None
|
||||
route: OpenRouter route strategy, defaults to "fallback"
|
||||
@@ -72,6 +76,7 @@ class OpenAIConfig(BaseLlmConfig):
|
||||
vision_details=vision_details,
|
||||
reasoning_effort=reasoning_effort,
|
||||
http_client_proxies=http_client_proxies,
|
||||
is_reasoning_model=is_reasoning_model,
|
||||
)
|
||||
|
||||
# OpenAI-specific parameters
|
||||
|
||||
Reference in New Issue
Block a user