From 20944e7cc4e28f7dc4ebf9298acd971b8266dedd Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Sun, 7 Jul 2024 20:19:43 +0800 Subject: [PATCH] feat: show model name on message status bar --- .../src/pages/home/components/Inputbar.tsx | 3 ++- .../src/pages/home/components/Message.tsx | 6 ++++++ src/renderer/src/services/api.ts | 4 +++- src/renderer/src/services/assistant.ts | 16 ++++++++-------- src/renderer/src/types/index.ts | 1 + 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/renderer/src/pages/home/components/Inputbar.tsx b/src/renderer/src/pages/home/components/Inputbar.tsx index 73bec748..0e563f07 100644 --- a/src/renderer/src/pages/home/components/Inputbar.tsx +++ b/src/renderer/src/pages/home/components/Inputbar.tsx @@ -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 = ({ 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) diff --git a/src/renderer/src/pages/home/components/Message.tsx b/src/renderer/src/pages/home/components/Message.tsx index ede6786f..84864b02 100644 --- a/src/renderer/src/pages/home/components/Message.tsx +++ b/src/renderer/src/pages/home/components/Message.tsx @@ -40,6 +40,7 @@ const MessageItem: FC = ({ message, showMenu, onDeleteMessage }) => { + {message.modelId} )} @@ -88,4 +89,9 @@ const MenusBar = styled.div` } ` +const ModelName = styled.div` + font-size: 12px; + color: var(--color-text-2); +` + export default MessageItem diff --git a/src/renderer/src/services/api.ts b/src/renderer/src/services/api.ts index 4e25ca9e..98d6c233 100644 --- a/src/renderer/src/services/api.ts +++ b/src/renderer/src/services/api.ts @@ -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 = '' diff --git a/src/renderer/src/services/assistant.ts b/src/renderer/src/services/assistant.ts index 6cda861c..f7c543cf 100644 --- a/src/renderer/src/services/assistant.ts +++ b/src/renderer/src/services/assistant.ts @@ -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()) -} diff --git a/src/renderer/src/types/index.ts b/src/renderer/src/types/index.ts index 894f7306..7906a506 100644 --- a/src/renderer/src/types/index.ts +++ b/src/renderer/src/types/index.ts @@ -13,6 +13,7 @@ export type Message = { content: string assistantId: string topicId: string + modelId?: string createdAt: string }