Rewrite getstatus_openai using fetch

This commit is contained in:
Cohee
2023-08-31 22:46:13 +03:00
parent 53f8667782
commit bc1d745209

View File

@@ -3121,7 +3121,7 @@ app.get('/thumbnail', jsonParser, async function (request, response) {
}); });
/* OpenAI */ /* OpenAI */
app.post("/getstatus_openai", jsonParser, function (request, response_getstatus_openai) { app.post("/getstatus_openai", jsonParser, async function (request, response_getstatus_openai) {
if (!request.body) return response_getstatus_openai.sendStatus(400); if (!request.body) return response_getstatus_openai.sendStatus(400);
let api_url; let api_url;
@@ -3143,17 +3143,22 @@ app.post("/getstatus_openai", jsonParser, function (request, response_getstatus_
return response_getstatus_openai.status(401).send({ error: true }); return response_getstatus_openai.status(401).send({ error: true });
} }
const args = { try {
headers: { const response = await fetch(api_url + "/models", {
"Authorization": "Bearer " + api_key_openai, method: 'GET',
...headers, headers: {
}, "Authorization": "Bearer " + api_key_openai,
}; ...headers,
restClient.get(api_url + "/models", args, function (data, response) { },
if (response.statusCode == 200) { });
if (response.ok) {
const data = await response.json();
response_getstatus_openai.send(data); response_getstatus_openai.send(data);
if (request.body.use_openrouter) { if (request.body.use_openrouter) {
let models = []; let models = [];
data.data.forEach(model => { data.data.forEach(model => {
const context_length = model.context_length; const context_length = model.context_length;
const tokens_dollar = Number(1 / (1000 * model.pricing.prompt)); const tokens_dollar = Number(1 / (1000 * model.pricing.prompt));
@@ -3163,27 +3168,21 @@ app.post("/getstatus_openai", jsonParser, function (request, response_getstatus_
context_length: context_length, context_length: context_length,
}; };
}); });
console.log('Available OpenRouter models:', models); console.log('Available OpenRouter models:', models);
} else { } else {
const modelIds = data?.data?.map(x => x.id)?.sort(); const modelIds = data?.data?.map(x => x.id)?.sort();
console.log('Available OpenAI models:', modelIds); console.log('Available OpenAI models:', modelIds);
} }
} }
if (response.statusCode == 401) { else {
console.log('Access Token is incorrect.'); console.log('Access Token is incorrect.');
response_getstatus_openai.send({ error: true }); response_getstatus_openai.send({ error: true });
} }
if (response.statusCode == 404) { } catch (e) {
console.log('Endpoint not found.'); console.error(e);
response_getstatus_openai.send({ error: true });
}
if (response.statusCode == 500 || response.statusCode == 501 || response.statusCode == 501 || response.statusCode == 503 || response.statusCode == 507) {
console.log(data);
response_getstatus_openai.send({ error: true });
}
}).on('error', function () {
response_getstatus_openai.send({ error: true }); response_getstatus_openai.send({ error: true });
}); }
}); });
app.post("/openai_bias", jsonParser, async function (request, response) { app.post("/openai_bias", jsonParser, async function (request, response) {