Skip to content

Commit 519df46

Browse files
authored
🪨 feat: RAG API Support for AWS Bedrock (danny-avila#4322)
* feat: bedrock/agents legacy rag api file processing * refactor: use agent instructions for build message options
1 parent 104341e commit 519df46

File tree

1 file changed

+19
-34
lines changed

1 file changed

+19
-34
lines changed

api/server/controllers/agents/client.js

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,10 @@ class AgentClient extends BaseClient {
184184
);
185185
}
186186

187-
getBuildMessagesOptions(opts) {
187+
getBuildMessagesOptions() {
188188
return {
189-
instructions: opts.instructions,
190-
additional_instructions: opts.additional_instructions,
189+
instructions: this.options.agent.instructions,
190+
additional_instructions: this.options.agent.additional_instructions,
191191
};
192192
}
193193

@@ -214,8 +214,6 @@ class AgentClient extends BaseClient {
214214
});
215215

216216
let payload;
217-
/** @type {{ role: string; name: string; content: string } | undefined} */
218-
let systemMessage;
219217
/** @type {number | undefined} */
220218
let promptTokens;
221219

@@ -263,21 +261,21 @@ class AgentClient extends BaseClient {
263261
}
264262

265263
/* If message has files, calculate image token cost */
266-
// if (this.message_file_map && this.message_file_map[message.messageId]) {
267-
// const attachments = this.message_file_map[message.messageId];
268-
// for (const file of attachments) {
269-
// if (file.embedded) {
270-
// this.contextHandlers?.processFile(file);
271-
// continue;
272-
// }
273-
274-
// orderedMessages[i].tokenCount += this.calculateImageTokenCost({
275-
// width: file.width,
276-
// height: file.height,
277-
// detail: this.options.imageDetail ?? ImageDetail.auto,
278-
// });
279-
// }
280-
// }
264+
if (this.message_file_map && this.message_file_map[message.messageId]) {
265+
const attachments = this.message_file_map[message.messageId];
266+
for (const file of attachments) {
267+
if (file.embedded) {
268+
this.contextHandlers?.processFile(file);
269+
continue;
270+
}
271+
272+
// orderedMessages[i].tokenCount += this.calculateImageTokenCost({
273+
// width: file.width,
274+
// height: file.height,
275+
// detail: this.options.imageDetail ?? ImageDetail.auto,
276+
// });
277+
}
278+
}
281279

282280
return formattedMessage;
283281
});
@@ -288,20 +286,7 @@ class AgentClient extends BaseClient {
288286
}
289287

290288
if (systemContent) {
291-
systemContent = `${systemContent.trim()}`;
292-
systemMessage = {
293-
role: 'system',
294-
name: 'instructions',
295-
content: systemContent,
296-
};
297-
298-
if (this.contextStrategy) {
299-
const instructionTokens = this.getTokenCountForMessage(systemMessage);
300-
if (instructionTokens >= 0) {
301-
const firstMessageTokens = orderedMessages[0].tokenCount ?? 0;
302-
orderedMessages[0].tokenCount = firstMessageTokens + instructionTokens;
303-
}
304-
}
289+
this.options.agent.instructions = systemContent;
305290
}
306291

307292
if (this.contextStrategy) {

0 commit comments

Comments
 (0)