:recycle: [Refactor] Remove global available_models variable, and use promise return
Browse files- networks/llm_requester.js +9 -22
networks/llm_requester.js
CHANGED
@@ -93,12 +93,13 @@ export class ChatCompletionsRequester {
|
|
93 |
}
|
94 |
}
|
95 |
|
96 |
-
export var available_models = { "user-customized": ["notes"] };
|
97 |
export class AvailableModelsRequester {
|
98 |
constructor(openai_endpoint) {
|
99 |
this.openai_endpoint = openai_endpoint;
|
100 |
this.backend_request_endpoint = "/models";
|
101 |
this.controller = new AbortController();
|
|
|
102 |
}
|
103 |
construct_openai_request_headers() {
|
104 |
this.backend_request_headers = {
|
@@ -131,19 +132,16 @@ export class AvailableModelsRequester {
|
|
131 |
.then((response) => response.json())
|
132 |
.then((response_json) => {
|
133 |
let data = response_json.data;
|
134 |
-
if (!(this.openai_endpoint in available_models)) {
|
135 |
-
available_models[this.openai_endpoint] = [];
|
136 |
-
}
|
137 |
data.forEach((item) => {
|
138 |
-
if (
|
139 |
-
|
140 |
-
item.id
|
141 |
-
)
|
142 |
-
) {
|
143 |
-
available_models[this.openai_endpoint].push(item.id);
|
144 |
}
|
145 |
});
|
146 |
-
console.log(
|
|
|
|
|
|
|
|
|
147 |
})
|
148 |
.catch((error) => {
|
149 |
console.error("Error:", error);
|
@@ -153,14 +151,3 @@ export class AvailableModelsRequester {
|
|
153 |
this.controller.abort();
|
154 |
}
|
155 |
}
|
156 |
-
|
157 |
-
export function get_endpoint_by_model(model) {
|
158 |
-
let endpoint = "";
|
159 |
-
Object.entries(available_models).forEach(([key, value]) => {
|
160 |
-
if (value.includes(model)) {
|
161 |
-
endpoint = key;
|
162 |
-
return endpoint;
|
163 |
-
}
|
164 |
-
});
|
165 |
-
return endpoint;
|
166 |
-
}
|
|
|
93 |
}
|
94 |
}
|
95 |
|
96 |
+
// export var available_models = { "user-customized": ["notes"] };
|
97 |
export class AvailableModelsRequester {
|
98 |
constructor(openai_endpoint) {
|
99 |
this.openai_endpoint = openai_endpoint;
|
100 |
this.backend_request_endpoint = "/models";
|
101 |
this.controller = new AbortController();
|
102 |
+
this.available_models = [];
|
103 |
}
|
104 |
construct_openai_request_headers() {
|
105 |
this.backend_request_headers = {
|
|
|
132 |
.then((response) => response.json())
|
133 |
.then((response_json) => {
|
134 |
let data = response_json.data;
|
|
|
|
|
|
|
135 |
data.forEach((item) => {
|
136 |
+
if (!this.available_models.includes(item.id)) {
|
137 |
+
this.available_models.push(item.id);
|
|
|
|
|
|
|
|
|
138 |
}
|
139 |
});
|
140 |
+
console.log(
|
141 |
+
`get available_models of ${this.openai_endpoint}:`,
|
142 |
+
this.available_models
|
143 |
+
);
|
144 |
+
return this.available_models;
|
145 |
})
|
146 |
.catch((error) => {
|
147 |
console.error("Error:", error);
|
|
|
151 |
this.controller.abort();
|
152 |
}
|
153 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|