From da842878233d84b2d2c3c6e4afe226bbd9ddb21d Mon Sep 17 00:00:00 2001 From: Pawan Osman Date: Sat, 20 Apr 2024 02:58:18 +0300 Subject: [PATCH] Add: more error handling --- src/app.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/app.ts b/src/app.ts index 4dc2a0c..9980bc9 100644 --- a/src/app.ts +++ b/src/app.ts @@ -179,6 +179,7 @@ async function handleChatCompletion(req: Request, res: Response) { let requestId = GenerateCompletionId("chatcmpl-"); let created = Math.floor(Date.now() / 1000); // Unix timestamp in seconds let finish_reason = null; + let error: string; for await (const message of StreamCompletion(response.data)) { // Skip heartbeat detection @@ -186,6 +187,12 @@ async function handleChatCompletion(req: Request, res: Response) { const parsed = JSON.parse(message); + if(parsed.error){ + error = `Error message from OpenAI: ${parsed.error}`; + finish_reason = "stop"; + break; + } + let content = parsed?.message?.content?.parts[0] ?? ""; let status = parsed?.message?.status ?? ""; @@ -254,7 +261,7 @@ async function handleChatCompletion(req: Request, res: Response) { choices: [ { delta: { - content: "", + content: error ?? "", }, index: 0, finish_reason: finish_reason, @@ -274,7 +281,7 @@ async function handleChatCompletion(req: Request, res: Response) { finish_reason: finish_reason, index: 0, message: { - content: fullContent, + content: error ?? fullContent, role: "assistant", }, },