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

View File

@ -3,7 +3,7 @@ import { uuid } from '@renderer/utils'
import { EVENT_NAMES, EventEmitter } from './event' import { EVENT_NAMES, EventEmitter } from './event'
import { ChatCompletionMessageParam, ChatCompletionSystemMessageParam } from 'openai/resources' import { ChatCompletionMessageParam, ChatCompletionSystemMessageParam } from 'openai/resources'
import OpenAI from 'openai' import OpenAI from 'openai'
import { getAssistantProvider } from './assistant' import { getAssistantProvider, getDefaultModel } from './assistant'
interface FetchChatCompletionParams { interface FetchChatCompletionParams {
message: Message message: Message
@ -23,9 +23,11 @@ const getOpenAiProvider = (provider: Provider) => {
export async function fetchChatCompletion({ message, topic, assistant, onResponse }: FetchChatCompletionParams) { export async function fetchChatCompletion({ message, topic, assistant, onResponse }: FetchChatCompletionParams) {
const provider = getAssistantProvider(assistant) const provider = getAssistantProvider(assistant)
const openaiProvider = getOpenAiProvider(provider) const openaiProvider = getOpenAiProvider(provider)
const defaultModel = getDefaultModel()
const model = assistant.model || defaultModel
const stream = await openaiProvider.chat.completions.create({ const stream = await openaiProvider.chat.completions.create({
model: assistant.model?.id || '', model: model.id,
messages: [ messages: [
{ role: 'system', content: assistant.prompt }, { role: 'system', content: assistant.prompt },
{ role: 'user', content: message.content } { role: 'user', content: message.content }
@ -64,6 +66,8 @@ interface FetchConversationSummaryParams {
export async function fetchConversationSummary({ messages, assistant }: FetchConversationSummaryParams) { export async function fetchConversationSummary({ messages, assistant }: FetchConversationSummaryParams) {
const provider = getAssistantProvider(assistant) const provider = getAssistantProvider(assistant)
const openaiProvider = getOpenAiProvider(provider) const openaiProvider = getOpenAiProvider(provider)
const defaultModel = getDefaultModel()
const model = assistant.model || defaultModel
const userMessages: ChatCompletionMessageParam[] = messages.map((message) => ({ const userMessages: ChatCompletionMessageParam[] = messages.map((message) => ({
role: 'user', role: 'user',
@ -77,7 +81,7 @@ export async function fetchConversationSummary({ messages, assistant }: FetchCon
} }
const response = await openaiProvider.chat.completions.create({ const response = await openaiProvider.chat.completions.create({
model: assistant.model?.id || '', model: model.id,
messages: [systemMessage, ...userMessages], messages: [systemMessage, ...userMessages],
stream: false stream: false
}) })

View File

@ -26,12 +26,15 @@ export function getAssistantProvider(assistant: Assistant) {
return provider || getDefaultProvider() return provider || getDefaultProvider()
} }
export function getDefaultModel() {
return store.getState().llm.defaultModel
}
export function getProviderByModel(model: Model) { export function getProviderByModel(model: Model) {
const providers = store.getState().llm.providers const providers = store.getState().llm.providers
return providers.find((p) => p.id === model.provider) as Provider return providers.find((p) => p.id === model.provider) as Provider
} }
export function getDefaultProvider() { export function getDefaultProvider() {
const defaultModel = store.getState().llm.defaultModel return getProviderByModel(getDefaultModel())
return getProviderByModel(defaultModel)
} }