From 4634c88f764d4bae9d64cb6f855fa865b3b6aa1e Mon Sep 17 00:00:00 2001 From: ousugo Date: Tue, 11 Mar 2025 16:42:46 +0800 Subject: [PATCH] feat(OpenAIProvider): Enhance model reasoning detection and stream output handling - Update isOpenAIReasoning method to include 'o3' model prefix - Rename isOpenAIo1 method to isOpenAIReasoning for clarity --- src/renderer/src/providers/OpenAIProvider.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/renderer/src/providers/OpenAIProvider.ts b/src/renderer/src/providers/OpenAIProvider.ts index dbe39c4d..b7849281 100644 --- a/src/renderer/src/providers/OpenAIProvider.ts +++ b/src/renderer/src/providers/OpenAIProvider.ts @@ -166,7 +166,7 @@ export default class OpenAIProvider extends BaseProvider { } } - if (this.isOpenAIo1(model)) { + if (this.isOpenAIReasoning(model)) { return { max_tokens: undefined, max_completion_tokens: maxTokens @@ -232,8 +232,8 @@ export default class OpenAIProvider extends BaseProvider { return {} } - private isOpenAIo1(model: Model) { - return model.id.startsWith('o1') + private isOpenAIReasoning(model: Model) { + return model.id.startsWith('o1') || model.id.startsWith('o3') } async completions({ messages, assistant, onChunk, onFilterMessages, mcpTools }: CompletionsParams): Promise { @@ -262,10 +262,10 @@ export default class OpenAIProvider extends BaseProvider { userMessages.push(await this.getMessageParam(message, model)) } - const isOpenAIo1 = this.isOpenAIo1(model) + const isOpenAIReasoning = this.isOpenAIReasoning(model) const isSupportStreamOutput = () => { - if (isOpenAIo1) { + if (isOpenAIReasoning) { return false } return streamOutput @@ -482,13 +482,13 @@ export default class OpenAIProvider extends BaseProvider { ] : [{ role: 'user', content: assistant.prompt }] - const isOpenAIo1 = this.isOpenAIo1(model) + const isOpenAIReasoning = this.isOpenAIReasoning(model) const isSupportedStreamOutput = () => { if (!onResponse) { return false } - if (isOpenAIo1) { + if (isOpenAIReasoning) { return false } return true