error handling improved in all APIs

This commit is contained in:
mic 2024-10-15 17:08:33 +02:00
parent 9fe528d6c8
commit 80eecda550
6 changed files with 118 additions and 79 deletions

View file

@ -57,13 +57,17 @@ self.onmessage = async function(event) {
if(response.is_exception === true){
error_message = response.error;
}else{
try{
const errorJSON = await response.json();
errorDetail = JSON.stringify(errorJSON);
error_message = errorJSON.error;
taLog.log("errorJSON.error.message: " + JSON.stringify(errorJSON.error.message));
error_message = errorJSON.error.message;
}catch(e){
error_message = response.statusText;
}
postMessage({ type: 'error', payload: i18nStrings["ollama_api_request_failed"] + ": " + error_message });
throw new Error("[ThunderAI] Ollama API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail);
taLog.log("error_message: " + JSON.stringify(error_message));
}
postMessage({ type: 'error', payload: i18nStrings["ollama_api_request_failed"] + ": " + response.status + " " + response.statusText + ", Detail: " + error_message + " " + errorDetail });
throw new Error("[ThunderAI] Ollama API request failed: " + response.status + " " + response.statusText + ", Detail: " + error_message + " " + errorDetail);
}
const reader = response.body.getReader();

View file

@ -52,13 +52,17 @@ self.onmessage = async function(event) {
if(response.is_exception === true){
error_message = response.error;
}else{
try{
const errorJSON = await response.json();
errorDetail = JSON.stringify(errorJSON);
error_message = errorJSON.error.message;
taLog.error("errorJSON.error.message: " + JSON.stringify(errorJSON.error.message));
}catch(e){
error_message = response.statusText;
}
postMessage({ type: 'error', payload: error_message });
throw new Error("[ThunderAI] OpenAI API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail);
taLog.log("error_message: " + JSON.stringify(error_message));
}
postMessage({ type: 'error', payload: i18nStrings["chatgpt_api_request_failed"] + ": " + response.status + " " + response.statusText + ", Detail: " + error_message + " " + errorDetail });
throw new Error("[ThunderAI] OpenAI ChatGPT API request failed: " + response.status + " " + response.statusText + ", Detail: " + error_message + " " + errorDetail);
}
const reader = response.body.getReader();

View file

@ -58,13 +58,17 @@ self.onmessage = async function(event) {
if(response.is_exception === true){
error_message = response.error;
}else{
try{
const errorJSON = await response.json();
errorDetail = JSON.stringify(errorJSON);
error_message = errorJSON.error.message;
taLog.log("errorJSON.error.message: " + JSON.stringify(errorJSON.error.message));
}catch(e){
error_message = response.statusText;
}
postMessage({ type: 'error', payload: i18nStrings["OpenAIComp_api_request_failed"] + ": " + error_message });
throw new Error("[ThunderAI] OpenAI Comp API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail);
taLog.log("error_message: " + JSON.stringify(error_message));
}
postMessage({ type: 'error', payload: i18nStrings["OpenAIComp_api_request_failed"] + ": " + response.status + " " + response.statusText + ", Detail: " + error_message + " " + errorDetail });
throw new Error("[ThunderAI] OpenAI Comp API request failed: " + response.status + " " + response.statusText + ", Detail: " + error_message + " " + errorDetail);
}
const reader = response.body.getReader();

View file

@ -29,6 +29,7 @@ export class Ollama {
}
fetchModels = async () => {
try{
const response = await fetch(this.host + "/api/tags", {
method: "GET",
headers: {
@ -54,6 +55,14 @@ export class Ollama {
//console.log(">>>>>>>>>> output_response: " + JSON.stringify(output_response));
return output;
}catch (error) {
console.error("[ThunderAI] Ollama API request failed: " + error);
let output = {};
output.is_exception = true;
output.ok = false;
output.error = "Ollama API request failed: " + error;
return output;
}
}

View file

@ -33,6 +33,7 @@ export class OpenAI {
fetchModels = async () => {
try{
const response = await fetch("https://api.openai.com/v1/models", {
method: "GET",
headers: {
@ -57,6 +58,14 @@ export class OpenAI {
output.response = output_response.data.filter(item => item.id.startsWith('gpt-')).sort((a, b) => b.id.localeCompare(a.id));
return output;
}catch (error) {
console.error("[ThunderAI] OpenAI API request failed: " + error);
let output = {};
output.is_exception = true;
output.ok = false;
output.error = "OpenAI API request failed: " + error;
return output;
}
}
fetchResponse = async (messages, maxTokens = 0) => {

View file

@ -66,6 +66,7 @@ export class OpenAIComp {
}
fetchResponse = async (messages, maxTokens = 0) => {
try{
const curr_headers = {
"Content-Type": "application/json",
};
@ -91,6 +92,14 @@ export class OpenAIComp {
output.error = "OpenAI API Comp request failed: " + error;
return output;
}
}catch (error) {
console.error("[ThunderAI] OpenAI API Comp request failed: " + error);
let output = {};
output.is_exception = true;
output.ok = false;
output.error = "OpenAI API Comp request failed: " + error;
return output;
}
}
}