From 1e4bc567809b95e39832fa851d7bd54265751536 Mon Sep 17 00:00:00 2001 From: Vaayne Date: Tue, 18 Mar 2025 09:40:58 +0800 Subject: [PATCH] refactor: update tool content handling for GPT and Dashscope models in OpenAIProvider --- src/renderer/src/providers/OpenAIProvider.ts | 21 ++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/renderer/src/providers/OpenAIProvider.ts b/src/renderer/src/providers/OpenAIProvider.ts index c111a0a4..701a5224 100644 --- a/src/renderer/src/providers/OpenAIProvider.ts +++ b/src/renderer/src/providers/OpenAIProvider.ts @@ -534,24 +534,25 @@ export default class OpenAIProvider extends BaseProvider { } } + const provider = lastUserMessage?.model?.provider + const modelName = lastUserMessage?.model?.name + if ( - lastUserMessage?.model?.provider === 'doubao' || - lastUserMessage?.model?.name.toLowerCase().includes('deepseek') + modelName?.toLocaleLowerCase().includes('gpt') || + (provider === 'dashscope' && modelName?.toLocaleLowerCase().includes('qwen')) ) { - 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) + } else { + reqMessages.push({ + role: 'tool', + content: JSON.stringify(toolResponsContent), + tool_call_id: toolCall.id + } as ChatCompletionToolMessageParam) } - upsertMCPToolResponse( toolResponses, { tool: mcpTool, status: 'done', response: toolCallResponse, id: toolCall.id },