handling error messages from the ChatGPT API
This commit is contained in:
parent
113656a257
commit
37ec6ca76a
4 changed files with 42 additions and 8 deletions
|
|
@ -55,6 +55,9 @@ worker.onmessage = function(event) {
|
|||
case 'tokensDone':
|
||||
messagesArea.handleTokensDone();
|
||||
break;
|
||||
case 'error':
|
||||
messagesArea.appendBotMessage(payload);
|
||||
break;
|
||||
default:
|
||||
console.error('Unknown event type from worker:', type);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,6 +152,26 @@ class MessagesArea extends HTMLElement {
|
|||
this.accumulatingMessageEl = null;
|
||||
}
|
||||
}
|
||||
|
||||
appendBotMessage(messageText) {
|
||||
console.log("appendBotMessage: " + messageText);
|
||||
|
||||
const lastMessage = this.messages.lastElementChild;
|
||||
const isLastMessageFromUser = lastMessage && lastMessage.classList.contains('user');
|
||||
|
||||
if (isLastMessageFromUser) {
|
||||
const header = document.createElement('h2');
|
||||
header.textContent = "Bot";
|
||||
this.messages.appendChild(header);
|
||||
}
|
||||
|
||||
const messageElement = document.createElement('div');
|
||||
messageElement.classList.add('message', 'bot');
|
||||
messageElement.textContent = messageText;
|
||||
this.messages.appendChild(messageElement);
|
||||
this.scrollToBottom();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
customElements.define('messages-area', MessagesArea);
|
||||
|
|
@ -52,6 +52,15 @@ self.onmessage = async function(event) {
|
|||
// });
|
||||
const response = await openai.fetchResponse("gpt-4o-mini", conversationHistory); //4096);
|
||||
postMessage({ type: 'messageSent' });
|
||||
|
||||
if (!response.ok) {
|
||||
const errorJSON = await response.json();
|
||||
const errorDetail = JSON.stringify(errorJSON);
|
||||
console.log(">>>>>>>>>>>>> errorJSON.error.message: " + JSON.stringify(errorJSON.error.message));
|
||||
postMessage({ type: 'error', payload: errorJSON.error.message });
|
||||
throw new Error("[ThunderAI] OpenAI API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail);
|
||||
}
|
||||
|
||||
const reader = response.body.getReader();
|
||||
const decoder = new TextDecoder("utf-8");
|
||||
|
||||
|
|
|
|||
|
|
@ -63,15 +63,17 @@ export class OpenAI {
|
|||
}),
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
const errorDetail = await response.text();
|
||||
let err_msg = "[ThunderAI] OpenAI API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail;
|
||||
console.log(err_msg);
|
||||
throw new Error(err_msg);
|
||||
}
|
||||
// if (!response.ok) {
|
||||
// const errorDetail = await response.text();
|
||||
// let err_msg = "[ThunderAI] OpenAI API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail;
|
||||
// console.log(err_msg);
|
||||
// throw new Error(err_msg);
|
||||
// }
|
||||
|
||||
const responseData = await response.json();
|
||||
return responseData.choices[0].message.content;
|
||||
// const responseData = await response.json();
|
||||
// return responseData.choices[0].message.content;
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in a new issue