Make chat title summarization non blocking (#575)
Browse files
src/routes/conversation/[id]/+server.ts
CHANGED
@@ -208,14 +208,16 @@ export async function POST({ request, locals, params, getClientAddress }) {
|
|
208 |
|
209 |
update({ type: "status", status: "started" });
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
|
|
217 |
}
|
218 |
-
}
|
219 |
|
220 |
await collections.conversations.updateOne(
|
221 |
{
|
@@ -321,6 +323,7 @@ export async function POST({ request, locals, params, getClientAddress }) {
|
|
321 |
text: messages[messages.length - 1].content,
|
322 |
});
|
323 |
|
|
|
324 |
return;
|
325 |
},
|
326 |
async cancel() {
|
|
|
208 |
|
209 |
update({ type: "status", status: "started" });
|
210 |
|
211 |
+
const summarizeIfNeeded = (async () => {
|
212 |
+
if (conv.title === "New Chat" && messages.length === 1) {
|
213 |
+
try {
|
214 |
+
conv.title = (await summarize(newPrompt)) ?? conv.title;
|
215 |
+
update({ type: "status", status: "title", message: conv.title });
|
216 |
+
} catch (e) {
|
217 |
+
console.error(e);
|
218 |
+
}
|
219 |
}
|
220 |
+
})();
|
221 |
|
222 |
await collections.conversations.updateOne(
|
223 |
{
|
|
|
323 |
text: messages[messages.length - 1].content,
|
324 |
});
|
325 |
|
326 |
+
await summarizeIfNeeded;
|
327 |
return;
|
328 |
},
|
329 |
async cancel() {
|