better error message when fetching models
This commit is contained in:
parent
e0ed33f183
commit
717bade1a5
2 changed files with 13 additions and 6 deletions
|
|
@ -45,12 +45,18 @@ export class OpenAI {
|
||||||
const errorDetail = await response.text();
|
const errorDetail = await response.text();
|
||||||
let err_msg = "[ThunderAI] OpenAI API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail;
|
let err_msg = "[ThunderAI] OpenAI API request failed: " + response.status + " " + response.statusText + ", Detail: " + errorDetail;
|
||||||
console.error(err_msg);
|
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) => {
|
fetchResponse = async (messages, maxTokens = 0) => {
|
||||||
|
|
|
||||||
|
|
@ -171,14 +171,15 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
document.getElementById('model_fetch_loading').style.display = 'inline';
|
document.getElementById('model_fetch_loading').style.display = 'inline';
|
||||||
let openai = new OpenAI(document.getElementById("chatgpt_api_key").value, true);
|
let openai = new OpenAI(document.getElementById("chatgpt_api_key").value, true);
|
||||||
openai.fetchModels().then((data) => {
|
openai.fetchModels().then((data) => {
|
||||||
if(!data){
|
if(!data.ok){
|
||||||
|
let errorDetail = JSON.parse(data.error);
|
||||||
document.getElementById('model_fetch_loading').style.display = 'none';
|
document.getElementById('model_fetch_loading').style.display = 'none';
|
||||||
console.error("[ThunderAI] " + browser.i18n.getMessage("ChatGPT_Models_Error_fetching"));
|
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;
|
return;
|
||||||
}
|
}
|
||||||
//console.log(">>>>>>>>> ChatGPT models: " + JSON.stringify(data));
|
//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)) {
|
if (!Array.from(select_chatgpt_model.options).some(option => option.value === model.id)) {
|
||||||
const option = document.createElement('option');
|
const option = document.createElement('option');
|
||||||
option.value = model.id;
|
option.value = model.id;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue