Skip to content

AmazonBedrockAgent

The AmazonBedrockAgent is a specialized agent class in the Multi-Agent Orchestrator that integrates directly with Amazon Bedrock agents.

Creating an AmazonBedrockAgent

Here are various examples showing different ways to create and configure an AmazonBedrockAgent:

Python Package

If you haven’t already installed the AWS-related dependencies, make sure to install them:

Terminal window
pip install "multi-agent-orchestrator[aws]"

Basic Examples

1. Minimal Configuration

const agent = new AmazonBedrockAgent({
name: 'My Bank Agent',
description: 'A helpful and friendly agent that answers questions about loan-related inquiries',
agentId: 'your-agent-id',
agentAliasId: 'your-agent-alias-id'
});

2. Using Custom Client

import { BedrockAgentRuntimeClient } from "@aws-sdk/client-bedrock-agent-runtime";
const customClient = new BedrockAgentRuntimeClient({ region: 'us-east-1' });
const agent = new AmazonBedrockAgent({
name: 'My Bank Agent',
description: 'A helpful and friendly agent for banking inquiries',
agentId: 'your-agent-id',
agentAliasId: 'your-agent-alias-id',
client: customClient
});

3. With Tracing Enabled

const agent = new AmazonBedrockAgent({
name: 'My Bank Agent',
description: 'A banking agent with tracing enabled',
agentId: 'your-agent-id',
agentAliasId: 'your-agent-alias-id',
enableTrace: true
});

4. With Streaming Enabled

const agent = new AmazonBedrockAgent({
name: 'My Bank Agent',
description: 'A streaming-enabled banking agent',
agentId: 'your-agent-id',
agentAliasId: 'your-agent-alias-id',
streaming: true
});

5. Complete Example with All Options

import { AmazonBedrockAgent } from "multi-agent-orchestrator";
import { BedrockAgentRuntimeClient } from "@aws-sdk/client-bedrock-agent-runtime";
const agent = new AmazonBedrockAgent({
// Required fields
name: "Advanced Bank Agent",
description: "A fully configured banking agent with all features enabled",
agentId: "your-agent-id",
agentAliasId: "your-agent-alias-id",
// Optional fields
region: "us-west-2",
streaming: true,
enableTrace: true,
client: new BedrockAgentRuntimeClient({ region: "us-west-2" }),
});

Option Explanations

  • name: (Required) Identifies the agent within your system.
  • description: (Required) Describes the agent’s purpose or capabilities.
  • agentId/agent_id: (Required) The ID of the Amazon Bedrock agent you want to use.
  • agentAliasId/agent_alias_id: (Required) The alias ID of the Amazon Bedrock agent.
  • region: (Optional) AWS region for the Bedrock service. If not provided, uses the default AWS region.
  • client: (Optional) Custom BedrockAgentRuntimeClient for specialized configurations.
  • enableTrace/enable_trace: (Optional) When set to true, enables tracing of the agent’s steps and reasoning process.
  • streaming: (Optional) Enables streaming for the final response. Defaults to false.

Adding the Agent to the Orchestrator

To integrate the AmazonBedrockAgent into your Multi-Agent Orchestrator, follow these steps:

  1. First, ensure you have created an instance of the orchestrator:
import { MultiAgentOrchestrator } from "multi-agent-orchestrator";
const orchestrator = new MultiAgentOrchestrator();
  1. Then, add the agent to the orchestrator:
orchestrator.addAgent(agent);
  1. Now you can use the orchestrator to route requests to the appropriate agent, including your Amazon Bedrock agent:
const response = await orchestrator.routeRequest(
"What is the base rate interest for 30 years?",
"user123",
"session456"
);

By leveraging the AmazonBedrockAgent, you can easily integrate pre-built Amazon Bedrock agents into your Multi-Agent Orchestrator.