mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-11-03 16:12:44 +02:00
- max_tokens reaches the Azure deployment - a tier's backend_url is used as the Azure endpoint, else AZURE_OPENAI_ENDPOINT
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
"""Azure OpenAI takes the run's settings like every other provider."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from tradingagents.llm_clients.factory import create_llm_client
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def _azure_env(monkeypatch):
|
||||
monkeypatch.setenv("AZURE_OPENAI_API_KEY", "test-key")
|
||||
monkeypatch.setenv("AZURE_OPENAI_ENDPOINT", "https://from-env.openai.azure.com/")
|
||||
monkeypatch.setenv("OPENAI_API_VERSION", "2025-03-01-preview")
|
||||
monkeypatch.delenv("AZURE_OPENAI_DEPLOYMENT_NAME", raising=False)
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_the_output_token_cap_reaches_the_deployment():
|
||||
llm = create_llm_client("azure", "gpt-5.5", max_tokens=1234).get_llm()
|
||||
assert llm.max_tokens == 1234
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_an_explicit_endpoint_wins_over_the_environment():
|
||||
llm = create_llm_client("azure", "gpt-5.5", base_url="https://deep.openai.azure.com/").get_llm()
|
||||
assert llm.azure_endpoint == "https://deep.openai.azure.com/"
|
||||
assert create_llm_client("azure", "gpt-5.5").get_llm().azure_endpoint == "https://from-env.openai.azure.com/"
|
||||
@@ -6,7 +6,7 @@ from langchain_openai import AzureChatOpenAI
|
||||
from .base_client import BaseLLMClient, normalize_content
|
||||
|
||||
_PASSTHROUGH_KWARGS = (
|
||||
"timeout", "max_retries", "api_key", "reasoning_effort", "temperature",
|
||||
"timeout", "max_retries", "api_key", "reasoning_effort", "temperature", "max_tokens",
|
||||
"callbacks", "http_client", "http_async_client",
|
||||
)
|
||||
|
||||
@@ -23,7 +23,8 @@ class AzureOpenAIClient(BaseLLMClient):
|
||||
|
||||
Requires environment variables:
|
||||
AZURE_OPENAI_API_KEY: API key
|
||||
AZURE_OPENAI_ENDPOINT: Endpoint URL (e.g. https://<resource>.openai.azure.com/)
|
||||
AZURE_OPENAI_ENDPOINT: Endpoint URL (e.g. https://<resource>.openai.azure.com/),
|
||||
unless backend_url gives one
|
||||
AZURE_OPENAI_DEPLOYMENT_NAME: Deployment name
|
||||
OPENAI_API_VERSION: API version (e.g. 2025-03-01-preview)
|
||||
"""
|
||||
@@ -39,6 +40,8 @@ class AzureOpenAIClient(BaseLLMClient):
|
||||
"model": self.model,
|
||||
"azure_deployment": os.environ.get("AZURE_OPENAI_DEPLOYMENT_NAME", self.model),
|
||||
}
|
||||
if self.base_url: # a configured endpoint, else AZURE_OPENAI_ENDPOINT
|
||||
llm_kwargs["azure_endpoint"] = self.base_url
|
||||
|
||||
for key in _PASSTHROUGH_KWARGS:
|
||||
if key in self.kwargs:
|
||||
|
||||
Reference in New Issue
Block a user