feat: show model name on message status bar
This commit is contained in:
parent
ce8253571e
commit
20944e7cc4
@ -12,6 +12,7 @@ import { TextAreaRef } from 'antd/es/input/TextArea'
|
|||||||
import { isEmpty } from 'lodash'
|
import { isEmpty } from 'lodash'
|
||||||
import SendMessageSetting from './SendMessageSetting'
|
import SendMessageSetting from './SendMessageSetting'
|
||||||
import { useSettings } from '@renderer/hooks/useSettings'
|
import { useSettings } from '@renderer/hooks/useSettings'
|
||||||
|
import dayjs from 'dayjs'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
assistant: Assistant
|
assistant: Assistant
|
||||||
@ -36,7 +37,7 @@ const Inputbar: FC<Props> = ({ assistant, setActiveTopic }) => {
|
|||||||
content: text,
|
content: text,
|
||||||
assistantId: assistant.id,
|
assistantId: assistant.id,
|
||||||
topicId: assistant.topics[0].id || uuid(),
|
topicId: assistant.topics[0].id || uuid(),
|
||||||
createdAt: 'now'
|
createdAt: dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
|
|
||||||
EventEmitter.emit(EVENT_NAMES.SEND_MESSAGE, message)
|
EventEmitter.emit(EVENT_NAMES.SEND_MESSAGE, message)
|
||||||
|
|||||||
@ -40,6 +40,7 @@ const MessageItem: FC<Props> = ({ message, showMenu, onDeleteMessage }) => {
|
|||||||
<MenusBar className="menubar">
|
<MenusBar className="menubar">
|
||||||
<CopyOutlined onClick={onCopy} />
|
<CopyOutlined onClick={onCopy} />
|
||||||
<DeleteOutlined onClick={onDelete} />
|
<DeleteOutlined onClick={onDelete} />
|
||||||
|
<ModelName>{message.modelId}</ModelName>
|
||||||
</MenusBar>
|
</MenusBar>
|
||||||
)}
|
)}
|
||||||
</MessageContent>
|
</MessageContent>
|
||||||
@ -88,4 +89,9 @@ const MenusBar = styled.div`
|
|||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
const ModelName = styled.div`
|
||||||
|
font-size: 12px;
|
||||||
|
color: var(--color-text-2);
|
||||||
|
`
|
||||||
|
|
||||||
export default MessageItem
|
export default MessageItem
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { ChatCompletionMessageParam, ChatCompletionSystemMessageParam } from 'op
|
|||||||
import OpenAI from 'openai'
|
import OpenAI from 'openai'
|
||||||
import { getAssistantProvider, getDefaultModel } from './assistant'
|
import { getAssistantProvider, getDefaultModel } from './assistant'
|
||||||
import { takeRight } from 'lodash'
|
import { takeRight } from 'lodash'
|
||||||
|
import dayjs from 'dayjs'
|
||||||
|
|
||||||
interface FetchChatCompletionParams {
|
interface FetchChatCompletionParams {
|
||||||
messages: Message[]
|
messages: Message[]
|
||||||
@ -42,7 +43,8 @@ export async function fetchChatCompletion({ messages, topic, assistant, onRespon
|
|||||||
content: '',
|
content: '',
|
||||||
assistantId: assistant.id,
|
assistantId: assistant.id,
|
||||||
topicId: topic.id,
|
topicId: topic.id,
|
||||||
createdAt: 'now'
|
modelId: model.id,
|
||||||
|
createdAt: dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
|
|
||||||
let content = ''
|
let content = ''
|
||||||
|
|||||||
@ -20,21 +20,21 @@ export function getDefaultTopic(): Topic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getAssistantProvider(assistant: Assistant) {
|
export function getDefaultProvider() {
|
||||||
const providers = store.getState().llm.providers
|
return getProviderByModel(getDefaultModel())
|
||||||
const provider = providers.find((p) => p.id === assistant.model?.provider)
|
|
||||||
return provider || getDefaultProvider()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDefaultModel() {
|
export function getDefaultModel() {
|
||||||
return store.getState().llm.defaultModel
|
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) {
|
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() {
|
|
||||||
return getProviderByModel(getDefaultModel())
|
|
||||||
}
|
|
||||||
|
|||||||
@ -13,6 +13,7 @@ export type Message = {
|
|||||||
content: string
|
content: string
|
||||||
assistantId: string
|
assistantId: string
|
||||||
topicId: string
|
topicId: string
|
||||||
|
modelId?: string
|
||||||
createdAt: string
|
createdAt: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user