From b4d8e39d5659ef9bd5d338d8960ce7ff51f70f5e Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Mon, 10 Jun 2024 23:56:02 -0700 Subject: [PATCH] Gemini: acknowledge the new capability to `createCachedContent`. Fixes #565 --- src/modules/llms/server/gemini/gemini.models.ts | 7 +++++++ src/modules/llms/server/gemini/gemini.wiretypes.ts | 1 + 2 files changed, 8 insertions(+) diff --git a/src/modules/llms/server/gemini/gemini.models.ts b/src/modules/llms/server/gemini/gemini.models.ts index e147913a4..c53ddd5be 100644 --- a/src/modules/llms/server/gemini/gemini.models.ts +++ b/src/modules/llms/server/gemini/gemini.models.ts @@ -3,6 +3,10 @@ import type { ModelDescriptionSchema } from '../llm.server.types'; import { LLM_IF_OAI_Chat, LLM_IF_OAI_Json, LLM_IF_OAI_Vision } from '../../store-llms'; +// dev options +const DEV_DEBUG_GEMINI_MODELS = false; + + // supported interfaces const geminiChatInterfaces: GeminiModelSchema['supportedGenerationMethods'] = ['generateContent']; @@ -175,6 +179,9 @@ export function geminiSortModels(a: ModelDescriptionSchema, b: ModelDescriptionS export function geminiModelToModelDescription(geminiModel: GeminiModelSchema): ModelDescriptionSchema { const { description, displayName, name: modelId, supportedGenerationMethods } = geminiModel; + if (DEV_DEBUG_GEMINI_MODELS) + console.log('geminiModelToModelDescription', geminiModel); + // find known manual mapping const knownModel = _knownGeminiModels.find(m => m.id === modelId); diff --git a/src/modules/llms/server/gemini/gemini.wiretypes.ts b/src/modules/llms/server/gemini/gemini.wiretypes.ts index 5e01603c9..318599685 100644 --- a/src/modules/llms/server/gemini/gemini.wiretypes.ts +++ b/src/modules/llms/server/gemini/gemini.wiretypes.ts @@ -18,6 +18,7 @@ const geminiModelSchema = z.object({ inputTokenLimit: z.number().int().min(1), outputTokenLimit: z.number().int().min(1), supportedGenerationMethods: z.array(z.enum([ + 'createCachedContent', // appeared on 2024-06-10, see https://github.com/enricoros/big-AGI/issues/565 'countMessageTokens', 'countTextTokens', 'countTokens',