diff --git a/docs-site/docs/reporting/html-report.md b/docs-site/docs/reporting/html-report.md index 9330fb5..0950c52 100644 --- a/docs-site/docs/reporting/html-report.md +++ b/docs-site/docs/reporting/html-report.md @@ -114,7 +114,7 @@ The AI features (`ai.failureAnalysis` and `ai.runSummary`) are not tied to one v | `ai.provider` | Backend | Default `ai.model` | |---|---|---| | `anthropic` (default) | Claude Messages API | `claude-haiku-4-5-20251001` | -| `gemini` | Google Gemini `generateContent` | `gemini-2.5-flash` | +| `gemini` | Google Gemini `generateContent` | `gemini-flash-latest` | | `openai` | Any OpenAI-compatible `/chat/completions` endpoint | `gpt-4o-mini` | ```yaml diff --git a/src/main/java/com/seleniumboot/ai/AiProvider.java b/src/main/java/com/seleniumboot/ai/AiProvider.java index 0a89398..8fa705a 100644 --- a/src/main/java/com/seleniumboot/ai/AiProvider.java +++ b/src/main/java/com/seleniumboot/ai/AiProvider.java @@ -18,7 +18,7 @@ enum AiProvider { ANTHROPIC("https://api.anthropic.com/v1", "claude-haiku-4-5-20251001"), - GEMINI("https://generativelanguage.googleapis.com/v1beta", "gemini-2.5-flash"), + GEMINI("https://generativelanguage.googleapis.com/v1beta", "gemini-flash-latest"), OPENAI("https://api.openai.com/v1", "gpt-4o-mini"); final String defaultBaseUrl; diff --git a/src/test/java/com/seleniumboot/ai/AiProviderTest.java b/src/test/java/com/seleniumboot/ai/AiProviderTest.java index 1a14d5d..c0e31f1 100644 --- a/src/test/java/com/seleniumboot/ai/AiProviderTest.java +++ b/src/test/java/com/seleniumboot/ai/AiProviderTest.java @@ -78,6 +78,13 @@ public void geminiUsesGenerateContentAndKeyHeader() { Assert.assertTrue(body.get().contains("\"parts\":[{\"text\":\"ping\"}]")); } + @Test + public void geminiDefaultModelIsTheLatestAlias() { + reply = "{\"candidates\":[{\"content\":{\"parts\":[{\"text\":\"ok\"}]}}]}"; + Assert.assertEquals(AiFailureAnalyzer.callApi(cfg("gemini", null), "g1", "ping"), "ok"); + Assert.assertEquals(path.get(), "/api/models/gemini-flash-latest:generateContent"); + } + @Test public void openAiCompatibleUsesChatCompletionsAndBearerAuth() { reply = "{\"choices\":[{\"message\":{\"role\":\"assistant\",\"content\":\"gpt says hi\"}}]}";