mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 17:00:15 +01:00
🪨 feat: RAG API Support for AWS Bedrock (#4322)
* feat: bedrock/agents legacy rag api file processing * refactor: use agent instructions for build message options
This commit is contained in:
parent
104341e0e7
commit
519df46e1f
1 changed files with 18 additions and 33 deletions
|
|
@ -184,10 +184,10 @@ class AgentClient extends BaseClient {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
getBuildMessagesOptions(opts) {
|
getBuildMessagesOptions() {
|
||||||
return {
|
return {
|
||||||
instructions: opts.instructions,
|
instructions: this.options.agent.instructions,
|
||||||
additional_instructions: opts.additional_instructions,
|
additional_instructions: this.options.agent.additional_instructions,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -214,8 +214,6 @@ class AgentClient extends BaseClient {
|
||||||
});
|
});
|
||||||
|
|
||||||
let payload;
|
let payload;
|
||||||
/** @type {{ role: string; name: string; content: string } | undefined} */
|
|
||||||
let systemMessage;
|
|
||||||
/** @type {number | undefined} */
|
/** @type {number | undefined} */
|
||||||
let promptTokens;
|
let promptTokens;
|
||||||
|
|
||||||
|
|
@ -263,21 +261,21 @@ class AgentClient extends BaseClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If message has files, calculate image token cost */
|
/* If message has files, calculate image token cost */
|
||||||
// if (this.message_file_map && this.message_file_map[message.messageId]) {
|
if (this.message_file_map && this.message_file_map[message.messageId]) {
|
||||||
// const attachments = this.message_file_map[message.messageId];
|
const attachments = this.message_file_map[message.messageId];
|
||||||
// for (const file of attachments) {
|
for (const file of attachments) {
|
||||||
// if (file.embedded) {
|
if (file.embedded) {
|
||||||
// this.contextHandlers?.processFile(file);
|
this.contextHandlers?.processFile(file);
|
||||||
// continue;
|
continue;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// orderedMessages[i].tokenCount += this.calculateImageTokenCost({
|
// orderedMessages[i].tokenCount += this.calculateImageTokenCost({
|
||||||
// width: file.width,
|
// width: file.width,
|
||||||
// height: file.height,
|
// height: file.height,
|
||||||
// detail: this.options.imageDetail ?? ImageDetail.auto,
|
// detail: this.options.imageDetail ?? ImageDetail.auto,
|
||||||
// });
|
// });
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
return formattedMessage;
|
return formattedMessage;
|
||||||
});
|
});
|
||||||
|
|
@ -288,20 +286,7 @@ class AgentClient extends BaseClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (systemContent) {
|
if (systemContent) {
|
||||||
systemContent = `${systemContent.trim()}`;
|
this.options.agent.instructions = systemContent;
|
||||||
systemMessage = {
|
|
||||||
role: 'system',
|
|
||||||
name: 'instructions',
|
|
||||||
content: systemContent,
|
|
||||||
};
|
|
||||||
|
|
||||||
if (this.contextStrategy) {
|
|
||||||
const instructionTokens = this.getTokenCountForMessage(systemMessage);
|
|
||||||
if (instructionTokens >= 0) {
|
|
||||||
const firstMessageTokens = orderedMessages[0].tokenCount ?? 0;
|
|
||||||
orderedMessages[0].tokenCount = firstMessageTokens + instructionTokens;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.contextStrategy) {
|
if (this.contextStrategy) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue