Make sure a line doesn't get cut off

dnd
Stef Dunlap 2023-03-07 21:30:57 -05:00
parent 2821bf0b1b
commit cb42f77ed2
1 changed files with 11 additions and 1 deletions

View File

@ -39,6 +39,7 @@ async function chatgpt(query, callback) {
let parts = data.split('\n'); let parts = data.split('\n');
// parse if starts with data: // parse if starts with data:
for(part of parts) { for(part of parts) {
console.log(part);
if(part === 'data: [DONE]') { if(part === 'data: [DONE]') {
callback(line); callback(line);
line = ''; line = '';
@ -47,7 +48,11 @@ async function chatgpt(query, callback) {
try { try {
let json = JSON.parse(jsonString); let json = JSON.parse(jsonString);
let chunk = json.choices[0].delta.content; let chunk = json.choices[0].delta.content;
if(!chunk) { return; } if(!chunk) {
callback(line);
line = '';
continue;
}
//split the chunk into lines leaving the delimiter in the array //split the chunk into lines leaving the delimiter in the array
const lines = chunk.split(/\r?\n/); // split by new lines const lines = chunk.split(/\r?\n/); // split by new lines
@ -70,6 +75,11 @@ async function chatgpt(query, callback) {
callback(line); callback(line);
line = ''; line = '';
} }
if(line.length > 400) {
callback(line);
line = '';
}
} catch (e) { } catch (e) {
console.log(e); console.log(e);
console.log(part); console.log(part);