From 48a6c4d017369de63e107ac49c51ba4972092e60 Mon Sep 17 00:00:00 2001 From: Vaayne Date: Mon, 17 Mar 2025 22:49:42 +0800 Subject: [PATCH] refactor: handle tool content differently for doubao and deepseek models in OpenAIProvider --- src/renderer/src/providers/OpenAIProvider.ts | 22 +++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/providers/OpenAIProvider.ts b/src/renderer/src/providers/OpenAIProvider.ts index 5a6c0830..c111a0a4 100644 --- a/src/renderer/src/providers/OpenAIProvider.ts +++ b/src/renderer/src/providers/OpenAIProvider.ts @@ -534,11 +534,23 @@ export default class OpenAIProvider extends BaseProvider { } } - reqMessages.push({ - role: 'tool', - content: toolResponsContent, - tool_call_id: toolCall.id - } as ChatCompletionToolMessageParam) + if ( + lastUserMessage?.model?.provider === 'doubao' || + lastUserMessage?.model?.name.toLowerCase().includes('deepseek') + ) { + console.log('doubao or deepseek only support tool content in text') + reqMessages.push({ + role: 'tool', + content: JSON.stringify(toolResponsContent), + tool_call_id: toolCall.id + } as ChatCompletionToolMessageParam) + } else { + reqMessages.push({ + role: 'tool', + content: toolResponsContent, + tool_call_id: toolCall.id + } as ChatCompletionToolMessageParam) + } upsertMCPToolResponse( toolResponses,