diff --git a/.env.example b/.env.example index 1f300f2554..d4007651fb 100644 --- a/.env.example +++ b/.env.example @@ -163,10 +163,10 @@ GOOGLE_KEY=user_provided # GOOGLE_AUTH_HEADER=true # Gemini API (AI Studio) -# GOOGLE_MODELS=gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite-preview-06-17,gemini-2.0-flash,gemini-2.0-flash-lite +# GOOGLE_MODELS=gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite,gemini-2.0-flash,gemini-2.0-flash-lite # Vertex AI -# GOOGLE_MODELS=gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite-preview-06-17,gemini-2.0-flash-001,gemini-2.0-flash-lite-001 +# GOOGLE_MODELS=gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite,gemini-2.0-flash-001,gemini-2.0-flash-lite-001 # GOOGLE_TITLE_MODEL=gemini-2.0-flash-lite-001 diff --git a/api/models/tx.js b/api/models/tx.js index 0fcf60022b..769492a643 100644 --- a/api/models/tx.js +++ b/api/models/tx.js @@ -124,7 +124,8 @@ const tokenValues = Object.assign( 'gemini-2.0-flash': { prompt: 0.1, completion: 0.4 }, 'gemini-2.0': { prompt: 0, completion: 0 }, // https://ai.google.dev/pricing 'gemini-2.5-pro': { prompt: 1.25, completion: 10 }, - 'gemini-2.5-flash': { prompt: 0.15, completion: 3.5 }, + 'gemini-2.5-flash': { prompt: 0.3, completion: 2.5 }, + 'gemini-2.5-flash-lite': { prompt: 0.075, completion: 0.4 }, 'gemini-2.5': { prompt: 0, completion: 0 }, // Free for a period of time 'gemini-1.5-flash-8b': { prompt: 0.075, completion: 0.3 }, 'gemini-1.5-flash': { prompt: 0.15, completion: 0.6 }, diff --git a/api/models/tx.spec.js b/api/models/tx.spec.js index d315d58622..dd3c543417 100644 --- a/api/models/tx.spec.js +++ b/api/models/tx.spec.js @@ -571,6 +571,9 @@ describe('getCacheMultiplier', () => { describe('Google Model Tests', () => { const googleModels = [ + 'gemini-2.5-pro', + 'gemini-2.5-flash', + 'gemini-2.5-flash-lite', 'gemini-2.5-pro-preview-05-06', 'gemini-2.5-flash-preview-04-17', 'gemini-2.5-exp', @@ -611,6 +614,9 @@ describe('Google Model Tests', () => { it('should map to the correct model keys', () => { const expected = { + 'gemini-2.5-pro': 'gemini-2.5-pro', + 'gemini-2.5-flash': 'gemini-2.5-flash', + 'gemini-2.5-flash-lite': 'gemini-2.5-flash-lite', 'gemini-2.5-pro-preview-05-06': 'gemini-2.5-pro', 'gemini-2.5-flash-preview-04-17': 'gemini-2.5-flash', 'gemini-2.5-exp': 'gemini-2.5', diff --git a/api/utils/tokens.spec.js b/api/utils/tokens.spec.js index 338322e0e2..527129ec8c 100644 --- a/api/utils/tokens.spec.js +++ b/api/utils/tokens.spec.js @@ -262,6 +262,15 @@ describe('getModelMaxTokens', () => { expect(getModelMaxTokens('gemini-1.5-pro-preview-0409', EModelEndpoint.google)).toBe( maxTokensMap[EModelEndpoint.google]['gemini-1.5'], ); + expect(getModelMaxTokens('gemini-2.5-pro', EModelEndpoint.google)).toBe( + maxTokensMap[EModelEndpoint.google]['gemini-2.5-pro'], + ); + expect(getModelMaxTokens('gemini-2.5-flash', EModelEndpoint.google)).toBe( + maxTokensMap[EModelEndpoint.google]['gemini-2.5-flash'], + ); + expect(getModelMaxTokens('gemini-2.5-flash-lite', EModelEndpoint.google)).toBe( + maxTokensMap[EModelEndpoint.google]['gemini-2.5-flash-lite'], + ); expect(getModelMaxTokens('gemini-pro-vision', EModelEndpoint.google)).toBe( maxTokensMap[EModelEndpoint.google]['gemini-pro-vision'], ); diff --git a/packages/api/src/utils/tokens.ts b/packages/api/src/utils/tokens.ts index 57923467a1..b53305278d 100644 --- a/packages/api/src/utils/tokens.ts +++ b/packages/api/src/utils/tokens.ts @@ -91,6 +91,7 @@ const googleModels = { 'gemini-2.5': 1000000, // 1M input tokens, 64k output tokens 'gemini-2.5-pro': 1000000, 'gemini-2.5-flash': 1000000, + 'gemini-2.5-flash-lite': 1000000, 'gemini-2.0': 2000000, 'gemini-2.0-flash': 1000000, 'gemini-2.0-flash-lite': 1000000, diff --git a/packages/data-provider/src/config.ts b/packages/data-provider/src/config.ts index df6eed9e00..f9da141ba8 100644 --- a/packages/data-provider/src/config.ts +++ b/packages/data-provider/src/config.ts @@ -1017,18 +1017,13 @@ export const defaultModels = { [EModelEndpoint.assistants]: [...sharedOpenAIModels, 'chatgpt-4o-latest'], [EModelEndpoint.agents]: sharedOpenAIModels, // TODO: Add agent models (agentsModels) [EModelEndpoint.google]: [ + // Gemini 2.5 Models + 'gemini-2.5-pro', + 'gemini-2.5-flash', + 'gemini-2.5-flash-lite', // Gemini 2.0 Models 'gemini-2.0-flash-001', - 'gemini-2.0-flash-exp', 'gemini-2.0-flash-lite', - 'gemini-2.0-pro-exp-02-05', - // Gemini 1.5 Models - 'gemini-1.5-flash-001', - 'gemini-1.5-flash-002', - 'gemini-1.5-pro-001', - 'gemini-1.5-pro-002', - // Gemini 1.0 Models - 'gemini-1.0-pro-001', ], [EModelEndpoint.anthropic]: sharedAnthropicModels, [EModelEndpoint.openAI]: [ @@ -1111,6 +1106,7 @@ export const visionModels = [ 'gemini-exp', 'gemini-1.5', 'gemini-2', + 'gemini-2.5', 'gemini-3', 'moondream', 'llama3.2-vision',