fix: defualt assistant model missing

This commit is contained in:
kangfenmao 2024-07-05 14:07:35 +08:00
parent 4060010bc3
commit 22ff26bffe
2 changed files with 12 additions and 5 deletions

View File

@ -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
})

View File

@ -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())
}