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.4 kB · 47 lines
JavaScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748const { handleError } = require('@librechat/api');const { ViolationTypes } = require('librechat-data-provider');const { getModelsConfig } = require('~/server/controllers/ModelController');const { logViolation } = require('~/cache');/** * Validates the model of the request. * * @async * @param {ServerRequest} req - The Express request object. * @param {Express.Response} res - The Express response object. * @param {Function} next - The Express next function. */const validateModel = async (req, res, next) => { const { model, endpoint } = req.body; if (!model) { return handleError(res, { text: 'Model not provided' }); }
const modelsConfig = await getModelsConfig(req);
if (!modelsConfig) { return handleError(res, { text: 'Models not loaded' }); }
const availableModels = modelsConfig[endpoint]; if (!availableModels) { return handleError(res, { text: 'Endpoint models not loaded' }); }
let validModel = !!availableModels.find((availableModel) => availableModel === model);
if (validModel) { return next(); }
const { ILLEGAL_MODEL_REQ_SCORE: score = 1 } = process.env ?? {};
const type = ViolationTypes.ILLEGAL_MODEL_REQUEST; const errorMessage = { type, };
await logViolation(req, res, type, errorMessage, score); return handleError(res, { text: 'Illegal model request' });};
module.exports = validateModel;