| const { EModelEndpoint, getEnabledEndpoints } = require('librechat-data-provider'); |
| const loadAsyncEndpoints = require('./loadAsyncEndpoints'); |
| const { config } = require('./EndpointService'); |
|
|
| |
| |
| |
| |
| |
| async function loadDefaultEndpointsConfig(req) { |
| const { google, gptPlugins } = await loadAsyncEndpoints(req); |
| const { openAI, assistants, azureAssistants, bingAI, anthropic, azureOpenAI, chatGPTBrowser } = |
| config; |
|
|
| const enabledEndpoints = getEnabledEndpoints(); |
|
|
| const endpointConfig = { |
| [EModelEndpoint.openAI]: openAI, |
| [EModelEndpoint.assistants]: assistants, |
| [EModelEndpoint.azureAssistants]: azureAssistants, |
| [EModelEndpoint.azureOpenAI]: azureOpenAI, |
| [EModelEndpoint.google]: google, |
| [EModelEndpoint.bingAI]: bingAI, |
| [EModelEndpoint.chatGPTBrowser]: chatGPTBrowser, |
| [EModelEndpoint.gptPlugins]: gptPlugins, |
| [EModelEndpoint.anthropic]: anthropic, |
| }; |
|
|
| const orderedAndFilteredEndpoints = enabledEndpoints.reduce((config, key, index) => { |
| if (endpointConfig[key]) { |
| config[key] = { ...(endpointConfig[key] ?? {}), order: index }; |
| } |
| return config; |
| }, {}); |
|
|
| return orderedAndFilteredEndpoints; |
| } |
|
|
| module.exports = loadDefaultEndpointsConfig; |
|
|