🤖 fix: Address Minor Agent Issues (#4483)

* fix(Agents): remove test code in openAI/llm.js

* refactor: add use of enums in encodeAndFormat

* fix: image attachment payload formatting for agents

* chore: imports
This commit is contained in:
Danny Avila 2024-10-21 09:41:04 -04:00 committed by GitHub
parent a6fbe7591a
commit ec922986a9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 20 additions and 6 deletions

View file

@ -1,6 +1,12 @@
const axios = require('axios');
const { EModelEndpoint, FileSources, VisionModes } = require('librechat-data-provider');
const { getStrategyFunctions } = require('../strategies');
const {
FileSources,
VisionModes,
ImageDetail,
ContentTypes,
EModelEndpoint,
} = require('librechat-data-provider');
const { getStrategyFunctions } = require('~/server/services/Files/strategies');
const { logger } = require('~/config');
/**
@ -79,7 +85,7 @@ async function encodeAndFormat(req, files, endpoint, mode) {
promises.push(preparePayload(req, file));
}
const detail = req.body.imageDetail ?? 'auto';
const detail = req.body.imageDetail ?? ImageDetail.auto;
/** @type {Array<[MongoFile, string]>} */
const formattedImages = await Promise.all(promises);
@ -104,7 +110,7 @@ async function encodeAndFormat(req, files, endpoint, mode) {
}
const imagePart = {
type: 'image_url',
type: ContentTypes.IMAGE_URL,
image_url: {
url: imageContent.startsWith('http')
? imageContent
@ -113,6 +119,12 @@ async function encodeAndFormat(req, files, endpoint, mode) {
},
};
if (mode === VisionModes.agents) {
result.image_urls.push(imagePart);
result.files.push(fileMetadata);
continue;
}
if (endpoint && endpoint === EModelEndpoint.google && mode === VisionModes.generative) {
delete imagePart.image_url;
imagePart.inlineData = {