作者 lixiang

1、智能助手增加多轮对话流式返回接口

... ... @@ -16,10 +16,11 @@ enum Api {
export const sendMessage = async (params: { questionText: string }) => {
try {
const userStore = useUserStore();
console.log("userStore",userStore.getUserInfo.username)
const token = userStore.getToken;
const response = await fetch(
`/jeecgboot/airag/zdyRag/sendStream?questionText=${encodeURIComponent(params.questionText)}`,
`/jeecgboot/airag/zdyRag/multiStageStream?questionText=${encodeURIComponent(params.questionText)}`,
{
method: 'GET',
headers: {
... ... @@ -56,7 +57,7 @@ export const sendMessage = async (params: { questionText: string }) => {
try {
const jsonStr = line.substring(5).trim();
if (jsonStr) {
yield JSON.parse(jsonStr); // 直接 yield 解析后的数据
yield JSON.parse(jsonStr);
}
} catch (e) {
console.error('JSON解析错误:', e);
... ...
... ... @@ -6,7 +6,7 @@
<div class="chat-messages" ref="messagesContainer">
<div v-for="(message, index) in messages" :key="index" :class="['message', message.type]">
<div class="message-content">
<div class="message-text" v-html="message.text"></div>
<div class="message-text" style="white-space: pre-wrap;" v-html="message.text"></div>
<div v-if="message.type === 'assistant' && message.similarity" class="message-meta">
相似度: {{ (message.similarity * 100).toFixed(2) }}%
<div v-if="message.fileBase64">
... ... @@ -19,7 +19,7 @@
<!-- 流式响应时显示的临时消息 -->
<div v-if="streamingMessage" class="message assistant">
<div class="message-content">
<div class="message-text">{{ streamingMessage }}</div>
<div class="message-text" style="white-space: pre-wrap;">{{ streamingMessage }}</div>
</div>
</div>
<div v-if="loading" class="message assistant">
... ... @@ -50,7 +50,7 @@
</div>
<div class="preview-content">
<div v-if="previewType === 'txt' || previewType === 'md'" class="text-preview">
<pre>{{ previewContent }}</pre>
<pre style="white-space: pre-wrap;">{{ previewContent }}</pre>
</div>
<div v-else-if="previewType === 'pdf'" class="pdf-preview" ref="pdfPreview"></div>
<div v-else-if="previewType === 'docx'" class="docx-preview" ref="docxPreview"></div>
... ... @@ -275,6 +275,7 @@ const sendButtonMessage = async (buttonValue: string) => {
scrollToBottom();
}
};
// 显示文件预览
const showPreview = async (message: any) => {
try {
... ... @@ -671,6 +672,7 @@ onBeforeUnmount(() => {
.message-text {
font-size: 15px;
white-space: pre-wrap;
}
.message-meta {
... ...