From ae8602a769e5e04ee6feb6867ac7c0dac6c3828e Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Thu, 23 Jan 2025 08:36:46 -0800 Subject: [PATCH] Gemini: show thoughts --- .../server/dispatch/chatGenerate/parsers/gemini.parser.ts | 6 +++++- .../aix/server/dispatch/wiretypes/gemini.wiretypes.ts | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/aix/server/dispatch/chatGenerate/parsers/gemini.parser.ts b/src/modules/aix/server/dispatch/chatGenerate/parsers/gemini.parser.ts index fb40ba361a..bebdab9d47 100644 --- a/src/modules/aix/server/dispatch/chatGenerate/parsers/gemini.parser.ts +++ b/src/modules/aix/server/dispatch/chatGenerate/parsers/gemini.parser.ts @@ -67,7 +67,11 @@ export function createGeminiGenerateContentResponseParser(modelId: string, isStr // <- TextPart case 'text' in mPart: - pt.appendText(mPart.text || ''); + // [Gemini, 2025-01-23] CoT support + if (mPart.thought) + pt.appendReasoningText(mPart.text || ''); + else + pt.appendText(mPart.text || ''); break; // <- FunctionCallPart diff --git a/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts b/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts index a1aa76d7b8..5820f49570 100644 --- a/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts +++ b/src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts @@ -52,6 +52,7 @@ export namespace GeminiWire_ContentParts { export const TextPart_schema = z.object({ text: z.string(), + thought: z.boolean().optional(), // [Gemini, 2025-01-23] CoT support }); const InlineDataPart_schema = z.object({ @@ -395,7 +396,7 @@ export namespace GeminiWire_API_Generate_Content { topP: z.number().optional(), topK: z.number().int().optional(), - // Added on 2025-01-23 - undocumented yet, thinking traces + // [Gemini, 2025-01-23] CoT support - undocumented yet thinkingConfig: z.object({ includeThoughts: z.boolean().optional(), }).optional(),