diff --git a/packages/frontend/src/components/answer-layout/AnswerLayout.tsx b/packages/frontend/src/components/answer-layout/AnswerLayout.tsx
index 10bf07f..686e7f6 100644
--- a/packages/frontend/src/components/answer-layout/AnswerLayout.tsx
+++ b/packages/frontend/src/components/answer-layout/AnswerLayout.tsx
@@ -1,6 +1,6 @@
import WaveLoading from '@/components/loading/WaveLoading'
import copyToClipboard from '@/utils/copy'
-import { ILocalSettings, getSettingData } from '@/utils/store'
+import { getSettingData } from '@/utils/store'
import rehypePrism from '@mapbox/rehype-prism'
import { message } from 'antd'
import clsx from 'clsx'
@@ -17,6 +17,7 @@ import remarkGfm from 'remark-gfm'
import styles from './answerLayout.less'
import './markdown.less'
+import { getChatAIType } from '@/pages/ai/chatgpt/chat.util'
type AnswerLayoutProps = {
data: Answer.answer[]
@@ -178,14 +179,49 @@ export default function AnswerLayout(props: AnswerLayoutProps) {
)}
>
{item.type === 'question' && 我}
{generateContentWrap(item, index)}
+ {item.type === 'answer' &&
+ (props.data.length - 1 !== index ||
+ (props.data.length - 1 === index && !props.inputing)) && (
+
+
+ {item.model}
+
+
+ {item.modelType === 'chatgpt' && (
+
+ )}
+ {item.modelType === 'gemini' && (
+
+ )}
+ {!['chatgpt', 'gemini'].includes(item.modelType) && (
+
+ )}
+
+ {item.modelUrl}
+
+
+
+ )}
diff --git a/packages/frontend/src/components/answer-layout/answerLayout.less b/packages/frontend/src/components/answer-layout/answerLayout.less
index 72921f8..0424e29 100644
--- a/packages/frontend/src/components/answer-layout/answerLayout.less
+++ b/packages/frontend/src/components/answer-layout/answerLayout.less
@@ -86,8 +86,8 @@
.loadingType {
.logo {
// background-color: #8f8;
- background: url('~@/assets/images/openai.webp') no-repeat 100% 100%;
- background-size: contain;
+ // background: url('~@/assets/images/openai.webp') no-repeat 100% 100%;
+ // background-size: contain;
margin-right: 16px;
}
diff --git a/packages/frontend/src/pages/ai/chatgpt/Chatgpt.tsx b/packages/frontend/src/pages/ai/chatgpt/Chatgpt.tsx
index 061db0e..fa05aae 100644
--- a/packages/frontend/src/pages/ai/chatgpt/Chatgpt.tsx
+++ b/packages/frontend/src/pages/ai/chatgpt/Chatgpt.tsx
@@ -125,7 +125,10 @@ export default function IndexPage() {
content: result.text,
id: result.id,
conversationId: result.conversationId,
- error: result.error
+ error: result.error,
+ model: modelInfo?.model || '',
+ modelType: modelInfo?.modelType || '',
+ modelUrl: modelInfo?.baseUrl || ''
}
newData.push(newAnswer)
// 存储回复,并存储parentMessageId, isInput, isLoading
@@ -157,7 +160,10 @@ export default function IndexPage() {
content: result.text,
id: result.id,
conversationId: result.conversationId,
- error: result.error
+ error: result.error,
+ model: modelInfo?.model || '',
+ modelType: modelInfo?.modelType || '',
+ modelUrl: modelInfo?.baseUrl || ''
}
]
// 存储回复,并存储parentMessageId, isInput, isLoading
@@ -355,9 +361,6 @@ export default function IndexPage() {
return (
-
} color='#55acee'>
- {getStableTitle(active) || '请添加会话'}
-
{
items.push({
- label: {k},
+ label: (
+
+ {k === 'chatgpt' ? (
+
+ ) : (
+
+ )}
+
{k}
+
+ ),
key: k,
type: 'group',
children: v.map((m) => {
return {
label: (
-
-
{m.model}
-
{m.baseUrl}
+
+
+ {m.model}
+
+
+ {m.baseUrl}
+
+ {/* {m.model} */}
),
key: m.id!,
@@ -94,17 +115,30 @@ export default function ModelDropdown(props: IModelDropdownProps) {
)
}
+ function IconPrefix() {
+ switch (modelInfo?.modelType) {
+ case 'chatgpt':
+ return (
+
+ )
+ case 'gemini':
+ return
+ default:
+ return (
+
+ )
+ }
+ }
+
return (
- }
+ icon={}
color='#2db7f5'
>
- {modelInfo ? {modelInfo.model} : '请选择模型'}
+ {modelInfo ? {modelInfo.baseUrl} : '请选择模型'}
diff --git a/packages/frontend/src/typings/answer.d.ts b/packages/frontend/src/typings/answer.d.ts
index 46d2bf4..d7fa4c8 100644
--- a/packages/frontend/src/typings/answer.d.ts
+++ b/packages/frontend/src/typings/answer.d.ts
@@ -8,6 +8,9 @@ declare namespace Answer {
id: string
conversationId?: string
error: boolean
+ model: string
+ modelType: string
+ modelUrl: string
}
| {
type: 'question'