Bläddra i källkod

fix: catch any errors parsing openai sse events

Jun Siang Cheah 1 år sedan
förälder
incheckning
510afab37c
1 ändrade filer med 7 tillägg och 3 borttagningar
  1. 7 3
      src/lib/apis/streaming/index.ts

+ 7 - 3
src/lib/apis/streaming/index.ts

@@ -32,10 +32,14 @@ async function* openAIStreamToIterator(
 				if (line === 'data: [DONE]') {
 				if (line === 'data: [DONE]') {
 					yield { done: true, value: '' };
 					yield { done: true, value: '' };
 				} else {
 				} else {
-					const data = JSON.parse(line.replace(/^data: /, ''));
-					console.log(data);
+					try {
+						const data = JSON.parse(line.replace(/^data: /, ''));
+						console.log(data);
 
 
-					yield { done: false, value: data.choices[0].delta.content ?? '' };
+						yield { done: false, value: data.choices[0].delta.content ?? '' };
+					} catch (e) {
+						console.error('Error extracting delta from SSE event:', e);
+					}
 				}
 				}
 			}
 			}
 		}
 		}