diff --git a/.env.example b/.env.example index 3021cda..49e1c54 100644 --- a/.env.example +++ b/.env.example @@ -14,7 +14,7 @@ REDIS_URL=redis://localhost:6379/0 # LLM Provider Configuration # Supported providers: "gemini", "openai", "fake" LLM_PROVIDER=gemini -LLM_MODEL=gemini-3.7-flash +LLM_MODEL=gemini-3.8-flash GEMINI_API_KEY=your_gemini_api_key_here OPENAI_API_KEY=your_openai_api_key_here diff --git a/agentkit/config.py b/agentkit/config.py index 7ebe44f..fe00bcd 100644 --- a/agentkit/config.py +++ b/agentkit/config.py @@ -32,7 +32,7 @@ class Settings(BaseSettings): description="LLM provider: gemini, openai, or fake.", ) LLM_MODEL: str = Field( - default="gemini-3.7-flash", + default="gemini-3.8-flash", description="LLM model identifier.", ) GEMINI_API_KEY: str | None = Field( diff --git a/agentkit/llm/factory.py b/agentkit/llm/factory.py index 4de7918..381a4be 100644 --- a/agentkit/llm/factory.py +++ b/agentkit/llm/factory.py @@ -38,7 +38,7 @@ def create_llm_client( normalized_provider = provider.strip().lower() if normalized_provider == "gemini": - default_model = model or "gemini-3.7-flash" + default_model = model or "gemini-3.8-flash" return GeminiClient(api_key=api_key, model=default_model, **kwargs) if normalized_provider == "openai": diff --git a/agentkit/llm/gemini.py b/agentkit/llm/gemini.py index b0dc6fe..5a9e2b2 100644 --- a/agentkit/llm/gemini.py +++ b/agentkit/llm/gemini.py @@ -18,14 +18,14 @@ class GeminiClient(LLMClient): def __init__( self, api_key: str | None = None, - model: str = "gemini-3.7-flash", + model: str = "gemini-3.8-flash", client: Any | None = None, ) -> None: """Initialize the Gemini client adapter. Args: api_key: Gemini API key. If omitted, google-genai attempts ADC/env lookup. - model: Gemini model identifier (default: gemini-3.7-flash). + model: Gemini model identifier (default: gemini-3.8-flash). client: Optional pre-configured genai.Client instance (useful for mocking). """ self.model = model diff --git a/docker-compose.yml b/docker-compose.yml index d743b0e..13263ef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -71,12 +71,13 @@ services: - DATABASE_URL=${DATABASE_URL:-postgresql+asyncpg://postgres:postgres@postgres:5432/agentkit} - REDIS_URL=${REDIS_URL:-redis://redis:6379/0} - FILE_TOOL_BASE_DIR=/tmp/agentkit_sandbox + - RUN_TIMEOUT_S=${RUN_TIMEOUT_S:-60} # No default key. An unset or empty API_KEYS leaves the api service to fail at # startup on Settings validation rather than running with a published key. # Compose keeps ${VAR:-} so `down`, `ps` and `logs` still work without it. - API_KEYS=${API_KEYS:-} - LLM_PROVIDER=${LLM_PROVIDER:-gemini} - - LLM_MODEL=${LLM_MODEL:-gemini-3.7-flash} + - LLM_MODEL=${LLM_MODEL:-gemini-3.8-flash} - GEMINI_API_KEY=${GEMINI_API_KEY:-} - OPENAI_API_KEY=${OPENAI_API_KEY:-} volumes: diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index 05d4b56..3667d21 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -14,7 +14,7 @@ def test_default_settings() -> None: API_KEYS="key1,key2", ) assert settings.LLM_PROVIDER == "gemini" - assert settings.LLM_MODEL == "gemini-3.7-flash" + assert settings.LLM_MODEL == "gemini-3.8-flash" assert settings.MAX_STEPS == 10 assert settings.RUN_TIMEOUT_S == 60 assert settings.TOOL_TIMEOUT_S == 15 diff --git a/tests/unit/test_gemini_adapter.py b/tests/unit/test_gemini_adapter.py index 495e650..f1f6eb0 100644 --- a/tests/unit/test_gemini_adapter.py +++ b/tests/unit/test_gemini_adapter.py @@ -204,6 +204,6 @@ async def test_gemini_thought_signature_capture_and_forward(mock_genai_client: M def test_gemini_default_model(mock_genai_client: MagicMock) -> None: - """Verify GeminiClient defaults to gemini-3.7-flash.""" + """Verify GeminiClient defaults to gemini-3.8-flash.""" adapter = GeminiClient(api_key="fake-key", client=mock_genai_client) - assert adapter.model == "gemini-3.7-flash" + assert adapter.model == "gemini-3.8-flash" diff --git a/tests/unit/test_llm_factory.py b/tests/unit/test_llm_factory.py index aacb779..faab2fb 100644 --- a/tests/unit/test_llm_factory.py +++ b/tests/unit/test_llm_factory.py @@ -28,7 +28,7 @@ def test_create_gemini_client() -> None: client_default = create_llm_client(provider="gemini", api_key="test-key-gemini") assert isinstance(client_default, GeminiClient) - assert client_default.model == "gemini-3.7-flash" + assert client_default.model == "gemini-3.8-flash" def test_create_openai_client() -> None: