| const { logger } = require('@librechat/data-schemas'); |
| const { EModelEndpoint } = require('librechat-data-provider'); |
| const { |
| getAnthropicModels, |
| getBedrockModels, |
| getOpenAIModels, |
| getGoogleModels, |
| } = require('~/server/services/ModelService'); |
|
|
| |
| |
| |
| |
| |
| |
| async function loadDefaultModels(req) { |
| try { |
| const [openAI, anthropic, azureOpenAI, assistants, azureAssistants, google, bedrock] = |
| await Promise.all([ |
| getOpenAIModels({ user: req.user.id }).catch((error) => { |
| logger.error('Error fetching OpenAI models:', error); |
| return []; |
| }), |
| getAnthropicModels({ user: req.user.id }).catch((error) => { |
| logger.error('Error fetching Anthropic models:', error); |
| return []; |
| }), |
| getOpenAIModels({ user: req.user.id, azure: true }).catch((error) => { |
| logger.error('Error fetching Azure OpenAI models:', error); |
| return []; |
| }), |
| getOpenAIModels({ assistants: true }).catch((error) => { |
| logger.error('Error fetching OpenAI Assistants API models:', error); |
| return []; |
| }), |
| getOpenAIModels({ azureAssistants: true }).catch((error) => { |
| logger.error('Error fetching Azure OpenAI Assistants API models:', error); |
| return []; |
| }), |
| Promise.resolve(getGoogleModels()).catch((error) => { |
| logger.error('Error getting Google models:', error); |
| return []; |
| }), |
| Promise.resolve(getBedrockModels()).catch((error) => { |
| logger.error('Error getting Bedrock models:', error); |
| return []; |
| }), |
| ]); |
|
|
| return { |
| [EModelEndpoint.openAI]: openAI, |
| [EModelEndpoint.google]: google, |
| [EModelEndpoint.anthropic]: anthropic, |
| [EModelEndpoint.azureOpenAI]: azureOpenAI, |
| [EModelEndpoint.assistants]: assistants, |
| [EModelEndpoint.azureAssistants]: azureAssistants, |
| [EModelEndpoint.bedrock]: bedrock, |
| }; |
| } catch (error) { |
| logger.error('Error fetching default models:', error); |
| throw new Error(`Failed to load default models: ${error.message}`); |
| } |
| } |
|
|
| module.exports = loadDefaultModels; |
|
|