:boom: [Fix] fill_available_models select for each endpoint
Browse files- networks/endpoint_storage.js +29 -35
networks/endpoint_storage.js
CHANGED
@@ -9,7 +9,6 @@ class EndpointStorage {
|
|
9 |
constructor() {
|
10 |
this.init_database();
|
11 |
this.create_endpoint_and_api_key_items();
|
12 |
-
this.fill_available_models_select();
|
13 |
}
|
14 |
init_database() {
|
15 |
this.db = new Dexie("endpoints");
|
@@ -77,6 +76,9 @@ class EndpointStorage {
|
|
77 |
endpoint_and_api_key_items.prepend(endpoint_and_api_key_item);
|
78 |
this.bind_endpoint_and_api_key_buttons(endpoint_and_api_key_item);
|
79 |
});
|
|
|
|
|
|
|
80 |
}
|
81 |
bind_endpoint_and_api_key_buttons(endpoint_and_api_key_item) {
|
82 |
let self = this;
|
@@ -103,6 +105,7 @@ class EndpointStorage {
|
|
103 |
});
|
104 |
console.log(`new_endpoint: ${endpoint_input_value}`);
|
105 |
}
|
|
|
106 |
});
|
107 |
|
108 |
let remove_endpoint_buttons = endpoint_and_api_key_item.find(
|
@@ -124,43 +127,34 @@ class EndpointStorage {
|
|
124 |
console.log(`remove endpoint: ${endpoint_input_value}`);
|
125 |
});
|
126 |
}
|
127 |
-
fill_available_models_select() {
|
128 |
var select = $("#available-models-select");
|
|
|
|
|
|
|
129 |
select.empty();
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
for (const entry of entries) {
|
134 |
-
let endpoint = entry.endpoint;
|
135 |
-
console.log("fetch available models for endpoint:", endpoint);
|
136 |
-
let available_models_requester = new AvailableModelsRequester(
|
137 |
-
endpoint
|
138 |
-
);
|
139 |
-
await available_models_requester.get();
|
140 |
-
}
|
141 |
-
available_models.forEach((value, index) => {
|
142 |
-
const option = new Option(value, value);
|
143 |
-
select.append(option);
|
144 |
-
});
|
145 |
-
|
146 |
-
// set default model
|
147 |
-
let default_model = "";
|
148 |
-
let storage_default_model = localStorage.getItem("default_model");
|
149 |
-
console.log("storage_default_model:", storage_default_model);
|
150 |
-
if (
|
151 |
-
storage_default_model &&
|
152 |
-
available_models.includes(storage_default_model)
|
153 |
-
) {
|
154 |
-
default_model = storage_default_model;
|
155 |
-
} else if (available_models) {
|
156 |
-
default_model = available_models[0];
|
157 |
-
localStorage.setItem("default_model", default_model);
|
158 |
-
} else {
|
159 |
-
default_model = "";
|
160 |
-
}
|
161 |
-
select.val(default_model);
|
162 |
-
console.log(`default_model: ${select.val()}`);
|
163 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
}
|
165 |
}
|
166 |
|
|
|
9 |
constructor() {
|
10 |
this.init_database();
|
11 |
this.create_endpoint_and_api_key_items();
|
|
|
12 |
}
|
13 |
init_database() {
|
14 |
this.db = new Dexie("endpoints");
|
|
|
76 |
endpoint_and_api_key_items.prepend(endpoint_and_api_key_item);
|
77 |
this.bind_endpoint_and_api_key_buttons(endpoint_and_api_key_item);
|
78 |
});
|
79 |
+
endpoints.each((row) => {
|
80 |
+
this.fill_available_models_select(row.endpoint);
|
81 |
+
});
|
82 |
}
|
83 |
bind_endpoint_and_api_key_buttons(endpoint_and_api_key_item) {
|
84 |
let self = this;
|
|
|
105 |
});
|
106 |
console.log(`new_endpoint: ${endpoint_input_value}`);
|
107 |
}
|
108 |
+
self.fill_available_models_select(endpoint_input_value);
|
109 |
});
|
110 |
|
111 |
let remove_endpoint_buttons = endpoint_and_api_key_item.find(
|
|
|
127 |
console.log(`remove endpoint: ${endpoint_input_value}`);
|
128 |
});
|
129 |
}
|
130 |
+
async fill_available_models_select(endpoint) {
|
131 |
var select = $("#available-models-select");
|
132 |
+
console.log("fetch available models for endpoint:", endpoint);
|
133 |
+
let available_models_requester = new AvailableModelsRequester(endpoint);
|
134 |
+
await available_models_requester.get();
|
135 |
select.empty();
|
136 |
+
available_models.forEach((value, index) => {
|
137 |
+
const option = new Option(value, value);
|
138 |
+
select.append(option);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
});
|
140 |
+
|
141 |
+
// set default model
|
142 |
+
let default_model = "";
|
143 |
+
let storage_default_model = localStorage.getItem("default_model");
|
144 |
+
console.log("storage_default_model:", storage_default_model);
|
145 |
+
if (
|
146 |
+
storage_default_model &&
|
147 |
+
available_models.includes(storage_default_model)
|
148 |
+
) {
|
149 |
+
default_model = storage_default_model;
|
150 |
+
} else if (available_models) {
|
151 |
+
default_model = available_models[0];
|
152 |
+
localStorage.setItem("default_model", default_model);
|
153 |
+
} else {
|
154 |
+
default_model = "";
|
155 |
+
}
|
156 |
+
select.val(default_model);
|
157 |
+
console.log(`default_model: ${select.val()}`);
|
158 |
}
|
159 |
}
|
160 |
|