From 14c5357fa3295475afdfbc224de5c1c311471d97 Mon Sep 17 00:00:00 2001 From: SuYao Date: Tue, 8 Jul 2025 19:21:49 +0800 Subject: [PATCH] fix(ApiClientFactory): adjust provider type handling for OpenAI clients (#7675) --- src/renderer/src/aiCore/clients/ApiClientFactory.ts | 3 +-- .../src/aiCore/clients/openai/OpenAIResponseAPIClient.ts | 7 ++++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/aiCore/clients/ApiClientFactory.ts b/src/renderer/src/aiCore/clients/ApiClientFactory.ts index 14e342da83..d815dc923f 100644 --- a/src/renderer/src/aiCore/clients/ApiClientFactory.ts +++ b/src/renderer/src/aiCore/clients/ApiClientFactory.ts @@ -47,10 +47,9 @@ export class ApiClientFactory { // 然后检查标准的provider type switch (provider.type) { case 'openai': - case 'azure-openai': - console.log(`[ApiClientFactory] Creating OpenAIApiClient for provider: ${provider.id}`) instance = new OpenAIAPIClient(provider) as BaseApiClient break + case 'azure-openai': case 'openai-response': instance = new OpenAIResponseAPIClient(provider) as BaseApiClient break diff --git a/src/renderer/src/aiCore/clients/openai/OpenAIResponseAPIClient.ts b/src/renderer/src/aiCore/clients/openai/OpenAIResponseAPIClient.ts index a5bfff8263..2af0b8376f 100644 --- a/src/renderer/src/aiCore/clients/openai/OpenAIResponseAPIClient.ts +++ b/src/renderer/src/aiCore/clients/openai/OpenAIResponseAPIClient.ts @@ -2,6 +2,7 @@ import { GenericChunk } from '@renderer/aiCore/middleware/schemas' import { CompletionsContext } from '@renderer/aiCore/middleware/types' import { isOpenAIChatCompletionOnlyModel, + isOpenAILLMModel, isSupportedReasoningEffortOpenAIModel, isVisionModel } from '@renderer/config/models' @@ -64,10 +65,10 @@ export class OpenAIResponseAPIClient extends OpenAIBaseClient< * 根据模型特征选择合适的客户端 */ public getClient(model: Model) { - if (isOpenAIChatCompletionOnlyModel(model)) { - return this.client - } else { + if (isOpenAILLMModel(model) && !isOpenAIChatCompletionOnlyModel(model)) { return this + } else { + return this.client } }