mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-19 01:40:15 +01:00
* refactor: move endpoint services to own directory * refactor: make endpointconfig handling more concise, separate logic, and cache result for subsequent serving * refactor: ModelController gets same treatment as EndpointController, draft OverrideController * wip: flesh out override controller more to return real value * refactor: client/api changes in anticipation of override
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
const { EModelEndpoint } = require('~/server/routes/endpoints/schemas');
|
|
|
|
const {
|
|
OPENAI_API_KEY: openAIApiKey,
|
|
AZURE_API_KEY: azureOpenAIApiKey,
|
|
ANTHROPIC_API_KEY: anthropicApiKey,
|
|
CHATGPT_TOKEN: chatGPTToken,
|
|
BINGAI_TOKEN: bingToken,
|
|
PLUGINS_USE_AZURE,
|
|
PALM_KEY: palmKey,
|
|
} = process.env ?? {};
|
|
|
|
const useAzurePlugins = !!PLUGINS_USE_AZURE;
|
|
|
|
const userProvidedOpenAI = useAzurePlugins
|
|
? azureOpenAIApiKey === 'user_provided'
|
|
: openAIApiKey === 'user_provided';
|
|
|
|
function isUserProvided(key) {
|
|
return key ? { userProvide: key === 'user_provided' } : false;
|
|
}
|
|
|
|
module.exports = {
|
|
config: {
|
|
openAIApiKey,
|
|
azureOpenAIApiKey,
|
|
useAzurePlugins,
|
|
userProvidedOpenAI,
|
|
palmKey,
|
|
[EModelEndpoint.openAI]: isUserProvided(openAIApiKey),
|
|
[EModelEndpoint.assistant]: isUserProvided(openAIApiKey),
|
|
[EModelEndpoint.azureOpenAI]: isUserProvided(azureOpenAIApiKey),
|
|
[EModelEndpoint.chatGPTBrowser]: isUserProvided(chatGPTToken),
|
|
[EModelEndpoint.anthropic]: isUserProvided(anthropicApiKey),
|
|
[EModelEndpoint.bingAI]: isUserProvided(bingToken),
|
|
},
|
|
};
|