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();
|
||||
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) => {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue