🪨 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:
Danny Avila 2024-10-03 08:53:28 -04:00 committed by GitHub
parent 104341e0e7
commit 519df46e1f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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) {