feat: show model name on message status bar

This commit is contained in:
kangfenmao 2024-07-07 20:19:43 +08:00
parent ce8253571e
commit 20944e7cc4
5 changed files with 20 additions and 10 deletions

View File

@ -12,6 +12,7 @@ import { TextAreaRef } from 'antd/es/input/TextArea'
import { isEmpty } from 'lodash'
import SendMessageSetting from './SendMessageSetting'
import { useSettings } from '@renderer/hooks/useSettings'
import dayjs from 'dayjs'
interface Props {
assistant: Assistant
@ -36,7 +37,7 @@ const Inputbar: FC<Props> = ({ assistant, setActiveTopic }) => {
content: text,
assistantId: assistant.id,
topicId: assistant.topics[0].id || uuid(),
createdAt: 'now'
createdAt: dayjs().format('YYYY-MM-DD HH:mm:ss')
}
EventEmitter.emit(EVENT_NAMES.SEND_MESSAGE, message)

View File

@ -40,6 +40,7 @@ const MessageItem: FC<Props> = ({ message, showMenu, onDeleteMessage }) => {
<MenusBar className="menubar">
<CopyOutlined onClick={onCopy} />
<DeleteOutlined onClick={onDelete} />
<ModelName>{message.modelId}</ModelName>
</MenusBar>
)}
</MessageContent>
@ -88,4 +89,9 @@ const MenusBar = styled.div`
}
`
const ModelName = styled.div`
font-size: 12px;
color: var(--color-text-2);
`
export default MessageItem

View File

@ -5,6 +5,7 @@ import { ChatCompletionMessageParam, ChatCompletionSystemMessageParam } from 'op
import OpenAI from 'openai'
import { getAssistantProvider, getDefaultModel } from './assistant'
import { takeRight } from 'lodash'
import dayjs from 'dayjs'
interface FetchChatCompletionParams {
messages: Message[]
@ -42,7 +43,8 @@ export async function fetchChatCompletion({ messages, topic, assistant, onRespon
content: '',
assistantId: assistant.id,
topicId: topic.id,
createdAt: 'now'
modelId: model.id,
createdAt: dayjs().format('YYYY-MM-DD HH:mm:ss')
}
let content = ''

View File

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

View File

@ -13,6 +13,7 @@ export type Message = {
content: string
assistantId: string
topicId: string
modelId?: string
createdAt: string
}