From 605467fb93b73eb3d019933f7499ec8ad1837420 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期三, 18 十二月 2024 14:51:11 +0800 Subject: [PATCH] 流式回答展示 --- src/components/chat/model/types.ts | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 5 deletions(-) diff --git a/src/components/chat/model/types.ts b/src/components/chat/model/types.ts index 67f1e76..6128cea 100644 --- a/src/components/chat/model/types.ts +++ b/src/components/chat/model/types.ts @@ -3,14 +3,16 @@ import knowledgeCom from '../chatComponents/knowledgeCom/KnowledgeCom.vue'; import SummaryCom from '../chatComponents/summaryCom/SummaryCom.vue'; -import assistantPic from '../images/assistant.jpg'; -import userPic from '../images/user.svg'; +import assistantPic from '/static/images/role/assistant-200x192.png'; +import userPic from '/static/images/role/user-200x206.png'; export const enum AnswerType { Knowledge = 'knowledge', RecordSet = 'recordset', Text = 'text', Summary = 'summary', Url = 'url', + Map = 'map', + // Report = 'report', } export const answerTypeMapCom = { @@ -18,12 +20,12 @@ [AnswerType.RecordSet]: RecordSetCom, [AnswerType.Text]: NormalTextCom, [AnswerType.Summary]: SummaryCom, + // [AnswerType.Report]: ReportCom, }; export const enum RoleEnum { user = 'user', assistant = 'assistant', - system = 'system', } export const AnswerState = { Null: null, @@ -32,11 +34,21 @@ }; export type AnswerStateType = typeof AnswerState; +export type ContextHistory = { + /** @description 鏁板瓧瀛楃涓� */ + ratio: string; + history_id: string; + question: string; +}; export type ChatContent = { type: AnswerType; values: any; - error?:string; + askMoreList?: ContextHistory[]; + errCode?: string; + errMsg?: string; + origin?: any; + createTime?: string; }; export interface ChatMessage { @@ -44,10 +56,45 @@ role: RoleEnum; content?: ChatContent; state?: null | '1' | '0'; + sectionAId?: string; + createTime?: string; + stepList?: StepItem[]; + stepIsShow?: boolean; + isStopMsg?: boolean; + /** @description 鏄惁琚�夋嫨鍒嗕韩 */ + isChecked: boolean; + conclusion?: any[]; } export const roleImageMap = { [RoleEnum.user]: userPic, [RoleEnum.assistant]: assistantPic, - [RoleEnum.system]: userPic, +}; + +export const enum StepEnum { + Loading, + Success, + Error, +} +export const stepEnumMap = { + [StepEnum.Loading]: 'process', + [StepEnum.Success]: 'process', + [StepEnum.Error]: 'process', +}; +export const enum MultiChatType { + Select = 'select', + Summary = 'summary', + Result = 'result', +} +type SubStep = { + data:any; + type: MultiChatType; +}; + +export type StepItem = { + title: string; + status: StepEnum; + // 娑堣�楁椂闂� + ms?: string | number; + subStep?: SubStep[]; }; -- Gitblit v1.9.3