소스 검색

fix: catch any errors parsing openai sse events

Jun Siang Cheah 1 년 전
부모
커밋
510afab37c
1개의 변경된 파일7개의 추가작업 그리고 3개의 파일을 삭제
  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]') {
 					yield { done: true, value: '' };
 				} 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);
+					}
 				}
 			}
 		}