Implement chat queue fallback
This commit is contained in:
@@ -84,12 +84,30 @@ async function send(message: string) {
|
||||
messages.value.push(userMessage, assistantMessage);
|
||||
loading.value = true;
|
||||
activeAbortController.value = new AbortController();
|
||||
let hasContent = false;
|
||||
await scrollToBottom();
|
||||
try {
|
||||
await streamChat(activeSessionId.value, message, async (chunk) => {
|
||||
assistantMessage.content += chunk;
|
||||
await scrollToBottom();
|
||||
}, activeAbortController.value.signal);
|
||||
await streamChat(
|
||||
activeSessionId.value,
|
||||
message,
|
||||
async (chunk) => {
|
||||
if (!hasContent) {
|
||||
assistantMessage.content = "";
|
||||
hasContent = true;
|
||||
}
|
||||
assistantMessage.content += chunk;
|
||||
await scrollToBottom();
|
||||
},
|
||||
async (statusMessage, statusType) => {
|
||||
if (statusType === "queued") {
|
||||
assistantMessage.content = statusMessage || "当前请求较多,正在排队中。";
|
||||
} else if (statusType === "generating" && !hasContent) {
|
||||
assistantMessage.content = "";
|
||||
}
|
||||
await scrollToBottom();
|
||||
},
|
||||
activeAbortController.value.signal,
|
||||
);
|
||||
assistantMessage.streaming = false;
|
||||
await refreshSessions(activeSessionId.value);
|
||||
user.value = await api.profile();
|
||||
|
||||
Reference in New Issue
Block a user