修复对话断断续续的问题,锁定在 fastapi 上

This commit is contained in:
Wenjie Zhang 2024-10-24 13:10:17 +08:00
parent f0984191ae
commit 601034e739

View File

@ -434,17 +434,25 @@ const fetchChatResponse = (user_input, cur_res_id) => {
groupRefs(cur_res_id); groupRefs(cur_res_id);
}) })
} else { } else {
groupRefs(cur_res_id); updateMessage({
id: cur_res_id,
status: "finished",
});
} }
isStreaming.value = false; isStreaming.value = false;
if (conv.value.messages.length === 2) { renameTitle(); } if (conv.value.messages.length === 2) { renameTitle(); }
return; return;
} }
const chunk = decoder.decode(value, { stream: true }); buffer += decoder.decode(value, { stream: true });
buffer += chunk; const lines = buffer.split('\n');
//
for (let i = 0; i < lines.length - 1; i++) {
const line = lines[i].trim();
if (line) {
try { try {
const data = JSON.parse(chunk); const data = JSON.parse(line);
updateMessage({ updateMessage({
id: cur_res_id, id: cur_res_id,
text: data.response, text: data.response,
@ -452,13 +460,21 @@ const fetchChatResponse = (user_input, cur_res_id) => {
status: data.status, status: data.status,
meta: data.meta, meta: data.meta,
}); });
console.debug(data.response) // console.log("Last message", conv.value.messages[conv.value.messages.length - 1].text)
// console.log("Last message", conv.value.messages[conv.value.messages.length - 1].status)
if (data.history) { if (data.history) {
conv.value.history = data.history; conv.value.history = data.history;
} }
} catch (e) { } catch (e) {
// console.debug('JSON :', e, chunk); console.error('JSON 解析错误:', e, line);
} }
}
}
//
buffer = lines[lines.length - 1];
return readChunk(); // return readChunk(); //
}); });
}; };
@ -471,7 +487,7 @@ const fetchChatResponse = (user_input, cur_res_id) => {
status: "error", status: "error",
}); });
isStreaming.value = false; isStreaming.value = false;
}) });
} }
const fetchRefs = (cur_res_id) => { const fetchRefs = (cur_res_id) => {
@ -975,3 +991,4 @@ watch(
} }
} }
</style> </style>