diff --git a/specs/10-ai-assistant.md b/specs/10-ai-assistant.md index e17c4898..221096c7 100644 --- a/specs/10-ai-assistant.md +++ b/specs/10-ai-assistant.md @@ -43,7 +43,7 @@ never reach clients). The assistant acts on documents through the **same tool la | Fast | `fastModel` | `low` | Defaults per provider (`AiModels`, the only place with model ids; `ai.models.` overrides them): Anthropic `claude-opus-5-5` / `claude-haiku-5-5`, OpenAI `gpt-5` / - `gpt-5-mini`, Gemini `gemini-2.5-pro` / `gemini-2.5-flash`. Inline completions use the fast + `gpt-5-mini`, Gemini `gemini-3.1-pro-preview` / `gemini-3.8-flash` (the 2.5 models return 404 for new keys). Inline completions use the fast model. Effort is sent to OpenAI as `reasoning_effort`; dartantic has no effort option for Anthropic and Gemini, which use their model defaults. No `temperature`/`top_p`. - **Streaming** for every request; `maxTokens` 64000 (chat), 32000 (inline/proofread), diff --git a/wonky_server/config/development.yaml b/wonky_server/config/development.yaml index 50efa3c4..28844c73 100644 --- a/wonky_server/config/development.yaml +++ b/wonky_server/config/development.yaml @@ -127,7 +127,7 @@ wonky: # models: # anthropic: {model: claude-opus-5-5, fastModel: claude-haiku-5-5} # openai: {model: gpt-5, fastModel: gpt-5-mini} - # gemini: {model: gemini-2.5-pro, fastModel: gemini-2.5-flash} + # gemini: {model: gemini-3.1-pro-preview, fastModel: gemini-3.8-flash} dailyTokenBudget: 2000000 maxConcurrentRequests: 2 requestTimeoutMinutes: 10 diff --git a/wonky_server/lib/src/platform/ai/ai_config.dart b/wonky_server/lib/src/platform/ai/ai_config.dart index 7f87bbf2..08043892 100644 --- a/wonky_server/lib/src/platform/ai/ai_config.dart +++ b/wonky_server/lib/src/platform/ai/ai_config.dart @@ -35,7 +35,7 @@ class AiProviderModels { /// models: # optional; defaults in AiModels /// anthropic: {model: claude-opus-5-5, fastModel: claude-haiku-5-5} /// openai: {model: gpt-5, fastModel: gpt-5-mini} -/// gemini: {model: gemini-2.5-pro, fastModel: gemini-2.5-flash} +/// gemini: {model: gemini-3.1-pro-preview, fastModel: gemini-3.8-flash} /// dailyTokenBudget: 2000000 # per user, all models /// maxConcurrentRequests: 2 # per user /// requestTimeoutMinutes: 10 diff --git a/wonky_server/lib/src/platform/ai/ai_models.dart b/wonky_server/lib/src/platform/ai/ai_models.dart index 6faa85f5..dc463007 100644 --- a/wonky_server/lib/src/platform/ai/ai_models.dart +++ b/wonky_server/lib/src/platform/ai/ai_models.dart @@ -15,8 +15,8 @@ abstract final class AiModels { static const gpt = 'gpt-5'; static const gptMini = 'gpt-5-mini'; - static const geminiPro = 'gemini-2.5-pro'; - static const geminiFlash = 'gemini-2.5-flash'; + static const geminiPro = 'gemini-3.1-pro-preview'; + static const geminiFlash = 'gemini-3.8-flash'; /// The default `(model, fastModel)` of [provider]. static (String, String) defaults(AiProvider provider) => switch (provider) {