From f769077ab450440d18d634a741b429b577dd3ac0 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Thu, 14 Mar 2024 20:42:56 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20fix(assistants):=20Default=20Cap?= =?UTF-8?q?abilities=20and=20Retrieval=20Models=20(#2102)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/server/services/Config/EndpointService.js | 2 +- api/server/utils/handleText.js | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/api/server/services/Config/EndpointService.js b/api/server/services/Config/EndpointService.js index 8bfc2f6695..987fbb8851 100644 --- a/api/server/services/Config/EndpointService.js +++ b/api/server/services/Config/EndpointService.js @@ -29,7 +29,7 @@ module.exports = { userProvidedOpenAI, googleKey, [EModelEndpoint.openAI]: generateConfig(openAIApiKey, OPENAI_REVERSE_PROXY), - [EModelEndpoint.assistants]: generateConfig(assistantsApiKey, ASSISTANTS_BASE_URL), + [EModelEndpoint.assistants]: generateConfig(assistantsApiKey, ASSISTANTS_BASE_URL, true), [EModelEndpoint.azureOpenAI]: generateConfig(azureOpenAIApiKey, AZURE_OPENAI_BASEURL), [EModelEndpoint.chatGPTBrowser]: generateConfig(chatGPTToken), [EModelEndpoint.anthropic]: generateConfig(anthropicApiKey), diff --git a/api/server/utils/handleText.js b/api/server/utils/handleText.js index 294647e111..973218e4ff 100644 --- a/api/server/utils/handleText.js +++ b/api/server/utils/handleText.js @@ -1,6 +1,7 @@ +const { Capabilities, defaultRetrievalModels } = require('librechat-data-provider'); +const { getCitations, citeText } = require('./citations'); const partialRight = require('lodash/partialRight'); const { sendMessage } = require('./streamResponse'); -const { getCitations, citeText } = require('./citations'); const citationRegex = /\[\^\d+?\^]/g; const addSpaceIfNeeded = (text) => (text.length > 0 && !text.endsWith(' ') ? text + ' ' : text); @@ -155,7 +156,7 @@ const isUserProvided = (value) => value === 'user_provided'; * @param {string} baseURL * @returns {boolean | { userProvide: boolean, userProvideURL?: boolean }} */ -function generateConfig(key, baseURL) { +function generateConfig(key, baseURL, assistants = false) { if (!key) { return false; } @@ -167,6 +168,16 @@ function generateConfig(key, baseURL) { config.userProvideURL = isUserProvided(baseURL); } + if (assistants) { + config.retrievalModels = defaultRetrievalModels; + config.capabilities = [ + Capabilities.code_interpreter, + Capabilities.retrieval, + Capabilities.actions, + Capabilities.tools, + ]; + } + return config; }