diff --git a/.env.example b/.env.example index 39ec7fc..8a4252d 100644 --- a/.env.example +++ b/.env.example @@ -15,7 +15,7 @@ OPENDIRECT_API_KEY= # Provider: Anthropic (default) ANTHROPIC_API_KEY=your-anthropic-api-key-here DEFAULT_LLM_MODEL=anthropic/claude-sonnet-4-5-20250929 -MANAGER_LLM_MODEL=anthropic/claude-opus-4-20250514 +MANAGER_LLM_MODEL=anthropic/claude-opus-4-8 LLM_TEMPERATURE=0.3 LLM_MAX_TOKENS=4096 @@ -37,7 +37,7 @@ LLM_MAX_TOKENS=4096 # AWS_SECRET_ACCESS_KEY=your-aws-secret-key # AWS_REGION=us-west-2 # DEFAULT_LLM_MODEL=bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0 -# MANAGER_LLM_MODEL=bedrock/us.anthropic.claude-opus-4-20250514-v1:0 +# MANAGER_LLM_MODEL=bedrock/us.anthropic.claude-opus-4-8 # Provider: Custom OpenAI-compatible endpoint (alternative) # For endpoints with no CrewAI native provider prefix of their own — NVIDIA diff --git a/docs/ai-assistant/developer-setup.md b/docs/ai-assistant/developer-setup.md index 9ba0198..e90f2ed 100644 --- a/docs/ai-assistant/developer-setup.md +++ b/docs/ai-assistant/developer-setup.md @@ -86,7 +86,7 @@ CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8080 # LLM model overrides (optional) DEFAULT_LLM_MODEL=anthropic/claude-sonnet-4-5-20250929 -MANAGER_LLM_MODEL=anthropic/claude-opus-4-20250514 +MANAGER_LLM_MODEL=anthropic/claude-opus-4-8 ``` ## Step 6: Start the Server diff --git a/docs/architecture/agent-hierarchy.md b/docs/architecture/agent-hierarchy.md index eb3aaf8..8b47138 100644 --- a/docs/architecture/agent-hierarchy.md +++ b/docs/architecture/agent-hierarchy.md @@ -61,7 +61,7 @@ The Portfolio Manager is the top-level orchestrator. It receives a campaign brie | Attribute | Value | |-----------|-------| | Role | Portfolio Manager | -| LLM | `anthropic/claude-opus-4-20250514` (configurable via `MANAGER_LLM_MODEL`) | +| LLM | `anthropic/claude-opus-4-8` (configurable via `MANAGER_LLM_MODEL`) | | Temperature | 0.3 | | Delegation | Enabled --- delegates to Level 2 agents | | Memory | Enabled | diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 887e064..5665227 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -52,7 +52,7 @@ ANTHROPIC_API_KEY=sk-ant-... # LLM model overrides — uses provider/model format (native Anthropic, OpenAI, Gemini, Azure, Bedrock) DEFAULT_LLM_MODEL=anthropic/claude-sonnet-4-5-20250929 - MANAGER_LLM_MODEL=anthropic/claude-opus-4-20250514 + MANAGER_LLM_MODEL=anthropic/claude-opus-4-8 # DEFAULT_LLM_MODEL=openai/gpt-4o # OpenAI example # DEFAULT_LLM_MODEL=ollama/llama3 # Local Ollama example diff --git a/docs/guides/configuration.md b/docs/guides/configuration.md index 5cf5989..3e8c889 100644 --- a/docs/guides/configuration.md +++ b/docs/guides/configuration.md @@ -20,7 +20,7 @@ IAB_SERVER_URL=http://localhost:8001 # Optional overrides DEFAULT_LLM_MODEL=anthropic/claude-sonnet-4-5-20250929 -MANAGER_LLM_MODEL=anthropic/claude-opus-4-20250514 +MANAGER_LLM_MODEL=anthropic/claude-opus-4-8 LOG_LEVEL=INFO ``` @@ -81,7 +81,7 @@ endpoints = settings.get_seller_endpoints() | Variable | Type | Default | Description | |----------|------|---------|-------------| | `DEFAULT_LLM_MODEL` | `str` | `anthropic/claude-sonnet-4-5-20250929` | Model for Level 2 channel specialists and Level 3 functional agents. | -| `MANAGER_LLM_MODEL` | `str` | `anthropic/claude-opus-4-20250514` | Model for the Level 1 Portfolio Manager. Opus is used for strategic reasoning. | +| `MANAGER_LLM_MODEL` | `str` | `anthropic/claude-opus-4-8` | Model for the Level 1 Portfolio Manager. Opus is used for strategic reasoning. | | `LLM_TEMPERATURE` | `float` | `0.3` | Default temperature for LLM calls. Individual agents may override this. | | `LLM_MAX_TOKENS` | `int` | `4096` | Maximum token output for LLM responses. | | `OPENAI_COMPATIBLE_LLM_API_KEY` | `str` | `None` | API key for a [custom OpenAI-compatible endpoint](#custom-openai-compatible-endpoints) (optional — some endpoints don't require one). | @@ -92,7 +92,7 @@ Models are specified in `provider/model-name` format using CrewAI's native provi ```bash # Use a different model provider DEFAULT_LLM_MODEL=openai/gpt-4o -MANAGER_LLM_MODEL=anthropic/claude-opus-4-20250514 +MANAGER_LLM_MODEL=anthropic/claude-opus-4-8 ``` ### Supported Providers diff --git a/docs/guides/deployment-ops-guide.md b/docs/guides/deployment-ops-guide.md index d3169fc..9a8b6fb 100644 --- a/docs/guides/deployment-ops-guide.md +++ b/docs/guides/deployment-ops-guide.md @@ -76,7 +76,7 @@ IAB_SERVER_URL=http://localhost:8000 # LLM models DEFAULT_LLM_MODEL=anthropic/claude-sonnet-4-5-20250929 -MANAGER_LLM_MODEL=anthropic/claude-opus-4-20250514 +MANAGER_LLM_MODEL=anthropic/claude-opus-4-8 # Storage DATABASE_URL=sqlite:///./ad_buyer.db @@ -438,7 +438,7 @@ Authentication is enforced via the `X-API-Key` header. Public paths (`/health`, | Variable | Default | Description | |----------|---------|-------------| | `DEFAULT_LLM_MODEL` | `anthropic/claude-sonnet-4-5-20250929` | Model for Level 2 channel specialists and Level 3 functional agents. | -| `MANAGER_LLM_MODEL` | `anthropic/claude-opus-4-20250514` | Model for the Level 1 Portfolio Manager. Opus is used for strategic reasoning. | +| `MANAGER_LLM_MODEL` | `anthropic/claude-opus-4-8` | Model for the Level 1 Portfolio Manager. Opus is used for strategic reasoning. | | `LLM_TEMPERATURE` | `0.3` | Default temperature. Individual agents use tuned values (0.1–0.5). | | `LLM_MAX_TOKENS` | `4096` | Maximum token output per LLM call. | @@ -446,7 +446,7 @@ Models use `provider/model-name` format with CrewAI's native provider integratio ```dotenv DEFAULT_LLM_MODEL=openai/gpt-4o -MANAGER_LLM_MODEL=anthropic/claude-opus-4-20250514 +MANAGER_LLM_MODEL=anthropic/claude-opus-4-8 ``` ### Storage diff --git a/src/ad_buyer/config/agents.yaml b/src/ad_buyer/config/agents.yaml index 569e5d0..7409ed8 100644 --- a/src/ad_buyer/config/agents.yaml +++ b/src/ad_buyer/config/agents.yaml @@ -12,7 +12,7 @@ portfolio_manager: mix optimization, and cross-channel attribution. allow_delegation: true temperature: 0.3 - model: anthropic/claude-opus-4-20250514 + model: anthropic/claude-opus-4-8 branding_agent: role: "Branding Specialist" diff --git a/src/ad_buyer/config/settings.py b/src/ad_buyer/config/settings.py index 4cb5400..baf7c3c 100644 --- a/src/ad_buyer/config/settings.py +++ b/src/ad_buyer/config/settings.py @@ -121,7 +121,7 @@ def get_seller_endpoints(self) -> list[str]: # gemini/gemini-2.5-flash (requires GOOGLE_API_KEY) # bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0 (requires AWS creds) default_llm_model: str = "anthropic/claude-sonnet-4-5-20250929" - manager_llm_model: str = "anthropic/claude-opus-4-20250514" + manager_llm_model: str = "anthropic/claude-opus-4-8" llm_temperature: float = 0.3 llm_max_tokens: int = 4096 diff --git a/tests/integration/test_api_endpoint_integration.py b/tests/integration/test_api_endpoint_integration.py index a84d4b9..cd33785 100644 --- a/tests/integration/test_api_endpoint_integration.py +++ b/tests/integration/test_api_endpoint_integration.py @@ -149,7 +149,7 @@ def _make_settings(api_key: str = "") -> Settings: opendirect_token=None, opendirect_api_key=None, default_llm_model="anthropic/claude-sonnet-4-5-20250929", - manager_llm_model="anthropic/claude-opus-4-20250514", + manager_llm_model="anthropic/claude-opus-4-8", llm_temperature=0.3, llm_max_tokens=4096, database_url="sqlite:///./ad_buyer.db", diff --git a/tests/integration/test_config_registry_coordination.py b/tests/integration/test_config_registry_coordination.py index d4d2203..727dc4a 100644 --- a/tests/integration/test_config_registry_coordination.py +++ b/tests/integration/test_config_registry_coordination.py @@ -34,7 +34,7 @@ def test_settings_seller_endpoints_parsing(self): opendirect_token=None, opendirect_api_key=None, default_llm_model="anthropic/claude-sonnet-4-5-20250929", - manager_llm_model="anthropic/claude-opus-4-20250514", + manager_llm_model="anthropic/claude-opus-4-8", llm_temperature=0.3, llm_max_tokens=4096, database_url="sqlite:///./test.db", @@ -63,7 +63,7 @@ def test_settings_empty_endpoints(self): opendirect_token=None, opendirect_api_key=None, default_llm_model="anthropic/claude-sonnet-4-5-20250929", - manager_llm_model="anthropic/claude-opus-4-20250514", + manager_llm_model="anthropic/claude-opus-4-8", llm_temperature=0.3, llm_max_tokens=4096, database_url="sqlite:///./test.db", @@ -90,7 +90,7 @@ def test_cors_origins_parsing(self): opendirect_token=None, opendirect_api_key=None, default_llm_model="anthropic/claude-sonnet-4-5-20250929", - manager_llm_model="anthropic/claude-opus-4-20250514", + manager_llm_model="anthropic/claude-opus-4-8", llm_temperature=0.3, llm_max_tokens=4096, database_url="sqlite:///./test.db", diff --git a/tests/unit/test_api_auth.py b/tests/unit/test_api_auth.py index c9937f2..2411373 100644 --- a/tests/unit/test_api_auth.py +++ b/tests/unit/test_api_auth.py @@ -27,7 +27,7 @@ def _make_settings(api_key: str = "") -> Settings: opendirect_token=None, opendirect_api_key=None, default_llm_model="anthropic/claude-sonnet-4-5-20250929", - manager_llm_model="anthropic/claude-opus-4-20250514", + manager_llm_model="anthropic/claude-opus-4-8", llm_temperature=0.3, llm_max_tokens=4096, database_url="sqlite:///./ad_buyer.db",