diff --git a/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts b/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts index e3b90b068..a0940d93d 100644 --- a/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts +++ b/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts @@ -523,7 +523,7 @@ export namespace GeminiWire_API_Models_List { description: z.string(), inputTokenLimit: z.number(), outputTokenLimit: z.number(), - supportedGenerationMethods: z.array(Methods_enum), + supportedGenerationMethods: z.array(z.union([Methods_enum, z.string()])), // relaxed with z.union to not break on expansion temperature: z.number().optional(), topP: z.number().optional(), topK: z.number().int().optional(), diff --git a/src/modules/llms/server/gemini/gemini.models.ts b/src/modules/llms/server/gemini/gemini.models.ts index b4de8fa08..87dbc7886 100644 --- a/src/modules/llms/server/gemini/gemini.models.ts +++ b/src/modules/llms/server/gemini/gemini.models.ts @@ -1,6 +1,6 @@ import type { GeminiWire_API_Models_List } from '~/modules/aix/server/dispatch/wiretypes/gemini.wiretypes'; import type { ModelDescriptionSchema } from '../llm.server.types'; -import { LLM_IF_OAI_Chat, LLM_IF_OAI_Json, LLM_IF_OAI_Vision } from '../../store-llms'; +import { LLM_IF_OAI_Chat, LLM_IF_OAI_Fn, LLM_IF_OAI_Json, LLM_IF_OAI_Vision } from '../../store-llms'; // dev options @@ -225,9 +225,8 @@ export function geminiModelToModelDescription(geminiModel: GeminiWire_API_Models // use known interfaces, or add chat if this is a generateContent model const interfaces: ModelDescriptionSchema['interfaces'] = knownModel?.interfaces || []; if (!interfaces.length && hasChatInterfaces) { - interfaces.push(LLM_IF_OAI_Chat); - // if (geminiVisionNames.some(name => modelId.includes(name))) - // interfaces.push(LLM_IF_OAI_Vision); + // newer models get good capabilities by default + interfaces.push(LLM_IF_OAI_Chat, LLM_IF_OAI_Fn, LLM_IF_OAI_Vision, LLM_IF_OAI_Json); } return {