fix: defualt assistant model missing

This commit is contained in:
kangfenmao
2024-07-05 14:07:35 +08:00
parent 64361dccc4
commit c97887e945
2 changed files with 12 additions and 5 deletions
+7 -3
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
})
+5 -2
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())
}