better error message when fetching models

This commit is contained in:
mic 2024-08-14 21:49:39 +02:00
parent e0ed33f183
commit 717bade1a5
2 changed files with 13 additions and 6 deletions

View file

@ -45,12 +45,18 @@ export class OpenAI {
const errorDetail = await response.text();
let err_msg = "[ThunderAI] OpenAI API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail;
console.error(err_msg);
return false;
let output = {};
output.ok = false;
output.error = errorDetail;
return output;
}
let output = await response.json();
let output = {};
output.ok = true;
let output_response = await response.json();
output.response = output_response.data.filter(item => item.id.startsWith('gpt-')).sort((a, b) => b.id.localeCompare(a.id));
return output.data.filter(item => item.id.startsWith('gpt-')).sort((a, b) => b.id.localeCompare(a.id));
return output;
}
fetchResponse = async (messages, maxTokens = 0) => {

View file

@ -171,14 +171,15 @@ document.addEventListener('DOMContentLoaded', async () => {
document.getElementById('model_fetch_loading').style.display = 'inline';
let openai = new OpenAI(document.getElementById("chatgpt_api_key").value, true);
openai.fetchModels().then((data) => {
if(!data){
if(!data.ok){
let errorDetail = JSON.parse(data.error);
document.getElementById('model_fetch_loading').style.display = 'none';
console.error("[ThunderAI] " + browser.i18n.getMessage("ChatGPT_Models_Error_fetching"));
alert(browser.i18n.getMessage("ChatGPT_Models_Error_fetching"));
alert(browser.i18n.getMessage("ChatGPT_Models_Error_fetching")+": " + errorDetail.error.message);
return;
}
//console.log(">>>>>>>>> ChatGPT models: " + JSON.stringify(data));
data.forEach(model => {
data.response.forEach(model => {
if (!Array.from(select_chatgpt_model.options).some(option => option.value === model.id)) {
const option = document.createElement('option');
option.value = model.id;