Download api/server/controllers/ModelController.js from Zhitomir/chat: direct link, hf CLI and curl.
- Browser
- Download file 1.29 kB
-
https://huggingface.co/spaces/Zhitomir/chat/resolve/main/api/server/controllers/ModelController.js
- Command line
-
hf download hf://spaces/Zhitomir/chat/api/server/controllers/ModelController.js
-
curl -L -o ModelController.js https://huggingface.co/spaces/Zhitomir/chat/resolve/main/api/server/controllers/ModelController.js
1.29 kB
| const { CacheKeys } = require('librechat-data-provider'); | |
| const { loadDefaultModels, loadConfigModels } = require('~/server/services/Config'); | |
| const { getLogStores } = require('~/cache'); | |
| const getModelsConfig = async (req) => { | |
| const cache = getLogStores(CacheKeys.CONFIG_STORE); | |
| let modelsConfig = await cache.get(CacheKeys.MODELS_CONFIG); | |
| if (!modelsConfig) { | |
| modelsConfig = await loadModels(req); | |
| } | |
| return modelsConfig; | |
| }; | |
| /** | |
| * Loads the models from the config. | |
| * @param {Express.Request} req - The Express request object. | |
| * @returns {Promise<TModelsConfig>} The models config. | |
| */ | |
| async function loadModels(req) { | |
| const cache = getLogStores(CacheKeys.CONFIG_STORE); | |
| const cachedModelsConfig = await cache.get(CacheKeys.MODELS_CONFIG); | |
| if (cachedModelsConfig) { | |
| return cachedModelsConfig; | |
| } | |
| const defaultModelsConfig = await loadDefaultModels(req); | |
| const customModelsConfig = await loadConfigModels(req); | |
| const modelConfig = { ...defaultModelsConfig, ...customModelsConfig }; | |
| await cache.set(CacheKeys.MODELS_CONFIG, modelConfig); | |
| return modelConfig; | |
| } | |
| async function modelController(req, res) { | |
| const modelConfig = await loadModels(req); | |
| res.send(modelConfig); | |
| } | |
| module.exports = { modelController, loadModels, getModelsConfig }; | |