Merge pull request #33 from ONLYOFFICE-PLUGINS/feature/AI-fix-request-models

[ai] check provider on fetch to skip wrong models list
This commit is contained in:
Oleg Korshul
2025-11-07 11:46:10 +03:00
committed by GitHub
2 changed files with 16 additions and 8 deletions

View File

@ -220,7 +220,7 @@ window.Asc.plugin.init = function() {
window.Asc.plugin.attachEvent("onProvidersUpdate", onProvidersUpdate);
window.Asc.plugin.attachEvent("onGetModels", function(data) {
if(data.error == 1) {
rejectModels && rejectModels(data.message);
rejectModels && rejectModels(data);
} else {
modelsList = data.models;
let res = data.models.map(function(model) {
@ -230,7 +230,9 @@ window.Asc.plugin.init = function() {
}
});
res.sort(function(a,b){ return (a.name < b.name) ? -1 : ((a.name === b.name) ? 0 : 1); });
resolveModels && resolveModels(res);
data.models = res;
resolveModels && resolveModels(data);
}
});
@ -529,13 +531,17 @@ function updateModelsList() {
url : providerUrlInputEl.value,
key: providerKeyInputEl.value
}).then(function(data) {
providerModelsList = data;
updateHtmlElements();
endLoader();
if (providerNameCmbEl.value == data.provider) {
providerModelsList = data.models;
updateHtmlElements();
endLoader();
}
}).catch(function(error) {
providerModelsList = [];
updateHtmlElements();
endLoader(error);
if (providerNameCmbEl.value == error.provider) {
providerModelsList = [];
updateHtmlElements();
endLoader(error.message);
}
});
}

View File

@ -557,6 +557,7 @@ function fetchExternal(url, options, isStreaming) {
function resolveRequest(data) {
if (data.error)
resolve({
provider: provider.name,
error : 1,
message : data.message,
models : []
@ -587,6 +588,7 @@ function fetchExternal(url, options, isStreaming) {
}
resolve({
provider: provider.name,
error : 0,
message : "",
models : AI.TmpProviderForModels.modelsUI