diff --git a/app/lib/modules/llm/providers/google.ts b/app/lib/modules/llm/providers/google.ts index 8cd307d6..97e26971 100644 --- a/app/lib/modules/llm/providers/google.ts +++ b/app/lib/modules/llm/providers/google.ts @@ -7,7 +7,7 @@ import { createGoogleGenerativeAI } from '@ai-sdk/google'; export default class GoogleProvider extends BaseProvider { name = 'Google'; getApiKeyLink = 'https://aistudio.google.com/app/apikey'; - icon = '/thirdparty/logos/google.svg'; + icon = '/thirdparty/logos/gemini.svg'; config = { apiTokenKey: 'GOOGLE_GENERATIVE_AI_API_KEY', @@ -15,26 +15,17 @@ export default class GoogleProvider extends BaseProvider { staticModels: ModelInfo[] = [ /* - * Essential fallback models - only the most reliable/stable ones - * Gemini 1.5 Pro: 2M context, 8K output limit (verified from API docs) + * Latest Gemini 3.0 models - cutting edge capabilities + * Gemini 3.0: Advanced multimodal reasoning, 2M+ context, enhanced performance */ { - name: 'gemini-1.5-pro', - label: 'Gemini 1.5 Pro', + name: 'gemini-3.0-pro-preview', + label: 'Gemini 3.0 Pro Preview', provider: 'Google', maxTokenAllowed: 2000000, maxCompletionTokens: 8192, }, - // Gemini 1.5 Flash: 1M context, 8K output limit, fast and cost-effective - { - name: 'gemini-1.5-flash', - label: 'Gemini 1.5 Flash', - provider: 'Google', - maxTokenAllowed: 1000000, - maxCompletionTokens: 8192, - }, - // Gemini 2.5 Flash Preview 05-20 { name: 'models/gemini-2.5-flash-preview-05-20', @@ -71,25 +62,6 @@ export default class GoogleProvider extends BaseProvider { maxCompletionTokens: 8192, }, - // Gemini 1.5 Pro - { - name: 'models/gemini-1.5-pro', - label: 'Gemini 1.5 Pro', - provider: 'Google', - maxTokenAllowed: 2000000, - maxCompletionTokens: 8192, - }, - - // Gemini 1.5 Flash - { - name: 'models/gemini-1.5-flash', - label: 'Gemini 1.5 Flash', - provider: 'Google', - maxTokenAllowed: 1000000, - maxCompletionTokens: 8192, - }, - - // Vertex AI models { name: 'gemini-2.5-flash-preview-05-20', label: 'Gemini 2.5 Flash Preview 05-20', @@ -189,12 +161,16 @@ export default class GoogleProvider extends BaseProvider { if (m.inputTokenLimit && m.outputTokenLimit) { // Use the input limit as the primary context window (typically larger) contextWindow = m.inputTokenLimit; + } else if (modelName.includes('gemini-3.0')) { + contextWindow = 2000000; // Gemini 3.0 has 2M+ context + } else if (modelName.includes('gemini-2.5')) { + contextWindow = 2000000; // Gemini 2.5 has 2M context + } else if (modelName.includes('gemini-2.0-flash')) { + contextWindow = 1000000; // Gemini 2.0 Flash has 1M context } else if (modelName.includes('gemini-1.5-pro')) { contextWindow = 2000000; // Gemini 1.5 Pro has 2M context } else if (modelName.includes('gemini-1.5-flash')) { contextWindow = 1000000; // Gemini 1.5 Flash has 1M context - } else if (modelName.includes('gemini-2.0-flash')) { - contextWindow = 1000000; // Gemini 2.0 Flash has 1M context } else if (modelName.includes('gemini-pro')) { contextWindow = 32000; // Gemini Pro has 32k context } else if (modelName.includes('gemini-flash')) {