chatGpt-docker / chunks /models.get.mjs
zhang-wei-jian's picture
:rocket:
e6e3b33
import { defineEventHandler, getHeaders } from 'h3';
import { s as setResStatus, e as errorHandler, g as getOpenAIApiInstance } from './h3.mjs';
import { u as useRuntimeConfig } from './nitro/node-server.mjs';
import './crypto.post.mjs';
import 'crypto-js';
import 'openai';
import 'axios';
import 'node-fetch-native/polyfill';
import 'node:http';
import 'node:https';
import 'destr';
import 'ofetch';
import 'unenv/runtime/fetch/index';
import 'hookable';
import 'scule';
import 'klona';
import 'defu';
import 'ohash';
import 'ufo';
import 'unstorage';
import 'unstorage/drivers/fs';
import 'radix3';
import 'node:fs';
import 'node:url';
import 'pathe';
import '@intlify/bundle-utils';
import 'http-graceful-shutdown';
const runtimeConfig = useRuntimeConfig();
const models_get = defineEventHandler(async (event) => {
try {
const headers = getHeaders(event);
const response = await listModels(headers);
setResStatus(event, response.status, response.statusText);
return response.data;
} catch (e) {
return await errorHandler(event, e);
}
});
async function listModels(headers) {
const openai = getOpenAIApiInstance("models", headers);
const useEnv = runtimeConfig.public.useEnv === "yes";
const apiType = useEnv ? runtimeConfig.public.apiType : headers["x-api-type"];
const azureGpt4DeploymentId = useEnv ? runtimeConfig.azureGpt4DeploymentId : headers["x-azure-gpt4-deployment-id"];
switch (apiType) {
case "openai":
return openai.listModels();
case "azure":
const gpt35ModelData = {
id: "gpt-3.5-turbo",
object: "model",
owned_by: "",
permission: []
};
const gpt4ModelData = {
id: "gpt-4",
object: "model",
owned_by: "",
permission: []
};
const availableModels = [gpt35ModelData];
if (azureGpt4DeploymentId) {
availableModels.push(gpt4ModelData);
}
const responseData = {
data: availableModels,
object: "list"
};
return {
data: responseData,
status: 200,
statusText: "OK",
config: {},
request: {}
};
default:
return {
data: {},
status: 400,
statusText: "Bad Request",
config: {},
request: {}
};
}
}
export { models_get as default };
//# sourceMappingURL=models.get.mjs.map