mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-24 04:10:15 +01:00
🔍 feat: Add Entity ID Support for File Search Shared Resources (#5028)
This commit is contained in:
parent
18ad89be2c
commit
d3cafeee96
4 changed files with 38 additions and 22 deletions
|
|
@ -50,13 +50,14 @@ const deleteVectors = async (req, file) => {
|
|||
* @param {Express.Multer.File} params.file - The file object, which is part of the request. The file object should
|
||||
* have a `path` property that points to the location of the uploaded file.
|
||||
* @param {string} params.file_id - The file ID.
|
||||
* @param {string} [params.entity_id] - The entity ID for shared resources.
|
||||
*
|
||||
* @returns {Promise<{ filepath: string, bytes: number }>}
|
||||
* A promise that resolves to an object containing:
|
||||
* - filepath: The path where the file is saved.
|
||||
* - bytes: The size of the file in bytes.
|
||||
*/
|
||||
async function uploadVectors({ req, file, file_id }) {
|
||||
async function uploadVectors({ req, file, file_id, entity_id }) {
|
||||
if (!process.env.RAG_API_URL) {
|
||||
throw new Error('RAG_API_URL not defined');
|
||||
}
|
||||
|
|
@ -66,8 +67,11 @@ async function uploadVectors({ req, file, file_id }) {
|
|||
const formData = new FormData();
|
||||
formData.append('file_id', file_id);
|
||||
formData.append('file', fs.createReadStream(file.path));
|
||||
if (entity_id != null && entity_id) {
|
||||
formData.append('entity_id', entity_id);
|
||||
}
|
||||
|
||||
const formHeaders = formData.getHeaders(); // Automatically sets the correct Content-Type
|
||||
const formHeaders = formData.getHeaders();
|
||||
|
||||
const response = await axios.post(`${process.env.RAG_API_URL}/embed`, formData, {
|
||||
headers: {
|
||||
|
|
|
|||
|
|
@ -479,6 +479,7 @@ const processAgentFileUpload = async ({ req, res, metadata }) => {
|
|||
}
|
||||
|
||||
let fileInfoMetadata;
|
||||
const entity_id = messageAttachment === true ? undefined : agent_id;
|
||||
if (tool_resource === EToolResources.execute_code) {
|
||||
const { handleFileUpload: uploadCodeEnvFile } = getStrategyFunctions(FileSources.execute_code);
|
||||
const result = await loadAuthValues({ userId: req.user.id, authFields: [EnvVar.CODE_API_KEY] });
|
||||
|
|
@ -488,7 +489,7 @@ const processAgentFileUpload = async ({ req, res, metadata }) => {
|
|||
stream,
|
||||
filename: file.originalname,
|
||||
apiKey: result[EnvVar.CODE_API_KEY],
|
||||
entity_id: messageAttachment === true ? undefined : agent_id,
|
||||
entity_id,
|
||||
});
|
||||
fileInfoMetadata = { fileIdentifier };
|
||||
}
|
||||
|
|
@ -512,6 +513,7 @@ const processAgentFileUpload = async ({ req, res, metadata }) => {
|
|||
req,
|
||||
file,
|
||||
file_id,
|
||||
entity_id,
|
||||
});
|
||||
|
||||
let filepath = _filepath;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue