From 22ff26bffed6f5213059e608d450626e90d4662f Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Fri, 5 Jul 2024 14:07:35 +0800 Subject: [PATCH] fix: defualt assistant model missing --- src/renderer/src/services/api.ts | 10 +++++++--- src/renderer/src/services/assistant.ts | 7 +++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/services/api.ts b/src/renderer/src/services/api.ts index 8619e373c0..c191ec1f42 100644 --- a/src/renderer/src/services/api.ts +++ b/src/renderer/src/services/api.ts @@ -3,7 +3,7 @@ import { uuid } from '@renderer/utils' import { EVENT_NAMES, EventEmitter } from './event' import { ChatCompletionMessageParam, ChatCompletionSystemMessageParam } from 'openai/resources' import OpenAI from 'openai' -import { getAssistantProvider } from './assistant' +import { getAssistantProvider, getDefaultModel } from './assistant' interface FetchChatCompletionParams { message: Message @@ -23,9 +23,11 @@ const getOpenAiProvider = (provider: Provider) => { export async function fetchChatCompletion({ message, topic, assistant, onResponse }: FetchChatCompletionParams) { const provider = getAssistantProvider(assistant) const openaiProvider = getOpenAiProvider(provider) + const defaultModel = getDefaultModel() + const model = assistant.model || defaultModel const stream = await openaiProvider.chat.completions.create({ - model: assistant.model?.id || '', + model: model.id, messages: [ { role: 'system', content: assistant.prompt }, { role: 'user', content: message.content } @@ -64,6 +66,8 @@ interface FetchConversationSummaryParams { export async function fetchConversationSummary({ messages, assistant }: FetchConversationSummaryParams) { const provider = getAssistantProvider(assistant) const openaiProvider = getOpenAiProvider(provider) + const defaultModel = getDefaultModel() + const model = assistant.model || defaultModel const userMessages: ChatCompletionMessageParam[] = messages.map((message) => ({ role: 'user', @@ -77,7 +81,7 @@ export async function fetchConversationSummary({ messages, assistant }: FetchCon } const response = await openaiProvider.chat.completions.create({ - model: assistant.model?.id || '', + model: model.id, messages: [systemMessage, ...userMessages], stream: false }) diff --git a/src/renderer/src/services/assistant.ts b/src/renderer/src/services/assistant.ts index 2d0a9744f7..5e1d0290a9 100644 --- a/src/renderer/src/services/assistant.ts +++ b/src/renderer/src/services/assistant.ts @@ -26,12 +26,15 @@ export function getAssistantProvider(assistant: Assistant) { return provider || getDefaultProvider() } +export function getDefaultModel() { + return store.getState().llm.defaultModel +} + export function getProviderByModel(model: Model) { const providers = store.getState().llm.providers return providers.find((p) => p.id === model.provider) as Provider } export function getDefaultProvider() { - const defaultModel = store.getState().llm.defaultModel - return getProviderByModel(defaultModel) + return getProviderByModel(getDefaultModel()) }