fix:对话时只提供最近6条记录
This commit is contained in:
@@ -82,6 +82,7 @@ watch(
|
|||||||
if (v) {
|
if (v) {
|
||||||
// 发送消息
|
// 发送消息
|
||||||
console.log('发送消息 v', v);
|
console.log('发送消息 v', v);
|
||||||
|
console.log('发送消息--error', bubbleItems);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
startSSE(v);
|
startSSE(v);
|
||||||
}, 350);
|
}, 350);
|
||||||
@@ -167,12 +168,21 @@ async function startSSE(chatContent: string) {
|
|||||||
// 这里有必要调用一下 BubbleList 组件的滚动到底部 手动触发 自动滚动
|
// 这里有必要调用一下 BubbleList 组件的滚动到底部 手动触发 自动滚动
|
||||||
bubbleListRef.value?.scrollToBottom();
|
bubbleListRef.value?.scrollToBottom();
|
||||||
|
|
||||||
|
console.log('bubbleItems.value--', bubbleItems.value);
|
||||||
for await (const chunk of stream({
|
for await (const chunk of stream({
|
||||||
|
// messages: bubbleItems.value
|
||||||
|
// .filter((item: any) => item.role === 'user')
|
||||||
|
// .map((item: any) => ({
|
||||||
|
// role: item.role,
|
||||||
|
// content: item.content,
|
||||||
|
// })),
|
||||||
messages: bubbleItems.value
|
messages: bubbleItems.value
|
||||||
.filter((item: any) => item.role === 'user')
|
.slice(-6) // 直接取最后6条记录(最近的)
|
||||||
.map((item: any) => ({
|
.map((item: MessageItem) => ({
|
||||||
role: item.role,
|
role: item.role,
|
||||||
content: item.content,
|
content: (item.role === 'ai' || item.role === 'system') && item.content.length > 2000
|
||||||
|
? `${item.content.substring(0, 2000)}...(内容过长,已省略)`
|
||||||
|
: item.content,
|
||||||
})),
|
})),
|
||||||
sessionId: route.params?.id !== 'not_login' ? String(route.params?.id) : undefined,
|
sessionId: route.params?.id !== 'not_login' ? String(route.params?.id) : undefined,
|
||||||
userId: userStore.userInfo?.userId,
|
userId: userStore.userInfo?.userId,
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ function jwtPlugin(): {
|
|||||||
if (error.status === 403) {
|
if (error.status === 403) {
|
||||||
// 弹窗提示
|
// 弹窗提示
|
||||||
ElMessage.error('业务错误,请稍后再试');
|
ElMessage.error('业务错误,请稍后再试');
|
||||||
|
console.error('Fetch error:', error);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user