openai api response.failed correctly handled. see #690
This commit is contained in:
parent
50d8e8e41f
commit
e788f305a0
1 changed files with 12 additions and 1 deletions
|
|
@ -85,7 +85,8 @@ self.onmessage = async function(event) {
|
||||||
const reader = response.body.getReader();
|
const reader = response.body.getReader();
|
||||||
const decoder = new TextDecoder("utf-8");
|
const decoder = new TextDecoder("utf-8");
|
||||||
let buffer = '';
|
let buffer = '';
|
||||||
|
let streamError = false;
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
if (stopStreaming) {
|
if (stopStreaming) {
|
||||||
stopStreaming = false;
|
stopStreaming = false;
|
||||||
|
|
@ -139,8 +140,18 @@ self.onmessage = async function(event) {
|
||||||
postMessage({ type: 'newToken', payload: { token: parsedLine.delta } });
|
postMessage({ type: 'newToken', payload: { token: parsedLine.delta } });
|
||||||
// } else if (parsedLine.type === 'response.completed' && parsedLine.response && parsedLine.response.id) {
|
// } else if (parsedLine.type === 'response.completed' && parsedLine.response && parsedLine.response.id) {
|
||||||
// previous_response_id = parsedLine.response.id;
|
// previous_response_id = parsedLine.response.id;
|
||||||
|
} else if (parsedLine.type === 'response.failed' && parsedLine.response && parsedLine.response.error) {
|
||||||
|
const error = parsedLine.response.error;
|
||||||
|
const errorMessage = error.message || JSON.stringify(error);
|
||||||
|
taLog.error("response.failed: " + JSON.stringify(error));
|
||||||
|
postMessage({ type: 'error', payload: i18nStrings["chatgpt_api_request_failed"] + ": " + errorMessage });
|
||||||
|
reader.cancel();
|
||||||
|
assistantResponseAccumulator = '';
|
||||||
|
streamError = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (streamError) break;
|
||||||
}
|
}
|
||||||
} else if (event.data.type === 'stop') {
|
} else if (event.data.type === 'stop') {
|
||||||
stopStreaming = true;
|
stopStreaming = true;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue