🧼 refactor(AppService): Consolidate Logic & Issue more Warnings (#2468)

* chore: bump example config version

* refactor(AppService): issue warnings from separate modules where possible

* refactor(AppService): consolidate AppService logic to separate modules as much as possible

* chore: bump data-provider

* chore: remove unn. variable definition

* chore: warning wording
This commit is contained in:
Danny Avila 2024-04-19 12:05:39 -04:00 committed by GitHub
parent de3987cbaf
commit 3d1dec62a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 231 additions and 149 deletions

View file

@ -0,0 +1,40 @@
const {
Capabilities,
EModelEndpoint,
assistantEndpointSchema,
} = require('librechat-data-provider');
const { logger } = require('~/config');
/**
* Sets up the Assistants configuration from the config (`librechat.yaml`) file.
* @param {TCustomConfig} config - The loaded custom configuration.
* @returns {Partial<TAssistantEndpoint>} The Assistants endpoint configuration.
*/
function assistantsConfigSetup(config) {
const assistantsConfig = config.endpoints[EModelEndpoint.assistants];
const parsedConfig = assistantEndpointSchema.parse(assistantsConfig);
if (assistantsConfig.supportedIds?.length && assistantsConfig.excludedIds?.length) {
logger.warn(
`Both \`supportedIds\` and \`excludedIds\` are defined for the ${EModelEndpoint.assistants} endpoint; \`excludedIds\` field will be ignored.`,
);
}
const prevConfig = config.endpoints[EModelEndpoint.azureOpenAI]?.assistants
? {
capabilities: [Capabilities.tools, Capabilities.actions, Capabilities.code_interpreter],
}
: {};
return {
...prevConfig,
retrievalModels: parsedConfig.retrievalModels,
disableBuilder: parsedConfig.disableBuilder,
pollIntervalMs: parsedConfig.pollIntervalMs,
supportedIds: parsedConfig.supportedIds,
capabilities: parsedConfig.capabilities,
excludedIds: parsedConfig.excludedIds,
timeoutMs: parsedConfig.timeoutMs,
};
}
module.exports = { assistantsConfigSetup };