From d60a0af8787761d38da7dfd2005cd26ed0a3eb6e Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Thu, 7 Nov 2024 08:26:35 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=A6=99=20refactor:=20Normalize=20Ollama?= =?UTF-8?q?=20Config=20Names=20(#4657)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/server/services/Config/loadConfigEndpoints.js | 5 +++-- api/server/services/Config/loadConfigModels.js | 11 +---------- api/server/utils/handleText.js | 15 +++++++++++++-- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/api/server/services/Config/loadConfigEndpoints.js b/api/server/services/Config/loadConfigEndpoints.js index 25da3b4271..03d8c22367 100644 --- a/api/server/services/Config/loadConfigEndpoints.js +++ b/api/server/services/Config/loadConfigEndpoints.js @@ -1,6 +1,6 @@ const { EModelEndpoint, extractEnvVariable } = require('librechat-data-provider'); +const { isUserProvided, normalizeEndpointName } = require('~/server/utils'); const { getCustomConfig } = require('./getCustomConfig'); -const { isUserProvided } = require('~/server/utils'); /** * Load config endpoints from the cached configuration object @@ -29,7 +29,8 @@ async function loadConfigEndpoints(req) { for (let i = 0; i < customEndpoints.length; i++) { const endpoint = customEndpoints[i]; - const { baseURL, apiKey, name, iconURL, modelDisplayLabel } = endpoint; + const { baseURL, apiKey, name: configName, iconURL, modelDisplayLabel } = endpoint; + const name = normalizeEndpointName(configName); const resolvedApiKey = extractEnvVariable(apiKey); const resolvedBaseURL = extractEnvVariable(baseURL); diff --git a/api/server/services/Config/loadConfigModels.js b/api/server/services/Config/loadConfigModels.js index 5aca002b8b..0df811468b 100644 --- a/api/server/services/Config/loadConfigModels.js +++ b/api/server/services/Config/loadConfigModels.js @@ -1,16 +1,7 @@ -const { Providers } = require('@librechat/agents'); const { EModelEndpoint, extractEnvVariable } = require('librechat-data-provider'); +const { isUserProvided, normalizeEndpointName } = require('~/server/utils'); const { fetchModels } = require('~/server/services/ModelService'); const { getCustomConfig } = require('./getCustomConfig'); -const { isUserProvided } = require('~/server/utils'); - -/** - * @param {string} name - * @returns {string} - */ -function normalizeEndpointName(name = '') { - return name.toLowerCase() === Providers.OLLAMA ? Providers.OLLAMA : name; -} /** * Load config endpoints from the cached configuration object diff --git a/api/server/utils/handleText.js b/api/server/utils/handleText.js index 2668569834..08f40672f3 100644 --- a/api/server/utils/handleText.js +++ b/api/server/utils/handleText.js @@ -7,6 +7,7 @@ const { defaultRetrievalModels, defaultAssistantsVersion, } = require('librechat-data-provider'); +const { Providers } = require('@librechat/agents'); const { getCitations, citeText } = require('./citations'); const partialRight = require('lodash/partialRight'); const { sendMessage } = require('./streamResponse'); @@ -212,13 +213,23 @@ function generateConfig(key, baseURL, endpoint) { return config; } +/** + * Normalize the endpoint name to system-expected value. + * @param {string} name + * @returns {string} + */ +function normalizeEndpointName(name = '') { + return name.toLowerCase() === Providers.OLLAMA ? Providers.OLLAMA : name; +} + module.exports = { - createOnProgress, isEnabled, handleText, formatSteps, formatAction, - addSpaceIfNeeded, isUserProvided, generateConfig, + addSpaceIfNeeded, + createOnProgress, + normalizeEndpointName, };