From abb93139a61e5f8d7d1d5bb2f741ae031e6c4853 Mon Sep 17 00:00:00 2001 From: AnotiaWang Date: Sat, 15 Feb 2025 21:38:35 +0800 Subject: [PATCH] fix(useAiProvider): use DeepSeek provider if model name includes `deepseek` --- composables/useAiProvider.ts | 52 ++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/composables/useAiProvider.ts b/composables/useAiProvider.ts index f1e2c0d..1e919c8 100644 --- a/composables/useAiProvider.ts +++ b/composables/useAiProvider.ts @@ -8,34 +8,34 @@ import { } from 'ai' export const useAiModel = () => { - const config = useConfigStore() + const { config, aiApiBase } = useConfigStore() let model: LanguageModelV1 - switch (config.config.ai.provider) { - case 'openrouter': { - const openRouter = createOpenRouter({ - apiKey: config.config.ai.apiKey, - baseURL: config.aiApiBase, - }) - model = openRouter(config.config.ai.model, { - includeReasoning: true, - }) - } - case 'deepseek': { - const deepSeek = createDeepSeek({ - apiKey: config.config.ai.apiKey, - baseURL: config.aiApiBase, - }) - model = deepSeek(config.config.ai.model) - } - case 'openai-compatible': - default: { - const openai = createOpenAI({ - apiKey: config.config.ai.apiKey, - baseURL: config.aiApiBase, - }) - model = openai(config.config.ai.model) - } + if (config.ai.provider === 'openrouter') { + const openRouter = createOpenRouter({ + apiKey: config.ai.apiKey, + baseURL: aiApiBase, + }) + model = openRouter(config.ai.model, { + includeReasoning: true, + }) + } else if ( + config.ai.provider === 'deepseek' || + // Special case if model name includes 'deepseek' + // This ensures compatibilty with providers like Siliconflow + config.ai.model?.toLowerCase().includes('deepseek') + ) { + const deepSeek = createDeepSeek({ + apiKey: config.ai.apiKey, + baseURL: aiApiBase, + }) + model = deepSeek(config.ai.model) + } else { + const openai = createOpenAI({ + apiKey: config.ai.apiKey, + baseURL: aiApiBase, + }) + model = openai(config.ai.model) } return wrapLanguageModel({