From 86bb7f1001f0b8bcb0849a3aebcc0b49d3f801e8 Mon Sep 17 00:00:00 2001 From: Niek van der Maas Date: Mon, 6 Mar 2023 18:48:13 +0100 Subject: [PATCH] Add try/catch around `fetch()`, style system messages correctly --- src/lib/Chat.svelte | 65 +++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/src/lib/Chat.svelte b/src/lib/Chat.svelte index b36f7c4..1d9c774 100644 --- a/src/lib/Chat.svelte +++ b/src/lib/Chat.svelte @@ -62,29 +62,34 @@ // Show updating bar updating = true; - const response: Response = await ( - await fetch("https://api.openai.com/v1/chat/completions", { - method: "POST", - headers: { - Authorization: `Bearer ${$apiKeyStorage}`, - "Content-Type": "application/json", - }, - body: JSON.stringify({ - model: "gpt-3.5-turbo", - // Submit only the role and content of the messages, provide the previous messages as well for context - messages: messages.map((message): Message => { - const { role, content } = message; - return { role, content }; + let response: Response; + try { + response = await ( + await fetch("https://api.openai.com/v1/chat/completions", { + method: "POST", + headers: { + Authorization: `Bearer ${$apiKeyStorage}`, + "Content-Type": "application/json", + }, + body: JSON.stringify({ + model: "gpt-3.5-turbo", + // Submit only the role and content of the messages, provide the previous messages as well for context + messages: messages.map((message): Message => { + const { role, content } = message; + return { role, content }; + }), + // temperature: 1 + // top_p: 1 + // n: 1 + //stream: false, + // stop: null + //max_tokens: 4096, }), - // temperature: 1 - // top_p: 1 - // n: 1 - //stream: false, - // stop: null - //max_tokens: 4096, - }), - }) - ).json(); + }) + ).json(); + } catch (e) { + response = { error: { message: e.message } }; + } // Hide updating bar updating = false; @@ -214,13 +219,15 @@ {:else if message.role === "system"}
- +
+ +
{:else}