Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/just-cameron/letta-libre. A fork of libre chat for Letta.
Something went wrong. Try again.
1.6 kB · 50 lines
JavaScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051const { logger } = require('@librechat/data-schemas');const { CacheKeys } = require('librechat-data-provider');const { loadDefaultModels, loadConfigModels } = require('~/server/services/Config');const { getLogStores } = require('~/cache');
/** * @param {ServerRequest} req * @returns {Promise<TModelsConfig>} The models config. */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 {ServerRequest} 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) { try { const modelConfig = await loadModels(req); res.send(modelConfig); } catch (error) { logger.error('Error fetching models:', error); res.status(500).send({ error: error.message }); }}
module.exports = { modelController, loadModels, getModelsConfig };