bedrock_agents_sdk package
Subpackages
- bedrock_agents_sdk.core package
- bedrock_agents_sdk.models package
- Submodules
- bedrock_agents_sdk.models.action_group module
- bedrock_agents_sdk.models.agent module
AgentAgent.action_groupsAgent.add_action_group()Agent.add_dependency()Agent.add_file()Agent.add_file_from_path()Agent.add_function()Agent.add_plugin()Agent.advanced_configAgent.deploy()Agent.enable_code_interpreterAgent.filesAgent.functionsAgent.instructionsAgent.modelAgent.model_configAgent.nameAgent.plugins
- bedrock_agents_sdk.models.files module
- bedrock_agents_sdk.models.function module
- bedrock_agents_sdk.models.message module
- Module contents
- bedrock_agents_sdk.deployment package
- bedrock_agents_sdk.plugins package
- bedrock_agents_sdk.utils package
Module contents
Amazon Bedrock Agents with Return Control SDK
This SDK provides a simple yet powerful way to create and interact with Amazon Bedrock Agents using the Return Control pattern. It allows you to easily define function tools, organize them into action groups, and handle the entire conversation flow with minimal boilerplate code.
- class bedrock_agents_sdk.ActionGroup(*, name: str, description: str, functions: List[Function | Callable] = [])[source]
Bases:
BaseModelRepresents an action group in the agent
- description: str
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- class bedrock_agents_sdk.Agent(**data)[source]
Bases:
objectAgent configuration for Amazon Bedrock Agents
- action_groups: List[ActionGroup]
- add_action_group(action_group: ActionGroup)[source]
Add an action group to the agent
- Parameters:
action_group – The action group to add
- Returns:
For method chaining
- Return type:
self
- add_dependency(dependency: str, version: str | None = None, action_group: str | None = None)[source]
Add a custom dependency for deployment
This method allows you to specify dependencies that should be included in the requirements.txt file when deploying the agent to AWS Lambda.
- Parameters:
dependency – The name of the dependency (e.g., “pandas”)
version – Optional version constraint (e.g., “>=1.0.0”)
action_group – Optional action group to add the dependency to. If not provided, the dependency will be added to all action groups.
- Returns:
For method chaining
- Return type:
self
- add_file(name: str, content: bytes, media_type: str, use_case: str = 'CODE_INTERPRETER') InputFile[source]
Add a file to be sent to the agent
- add_file_from_path(file_path: str, use_case: str = 'CODE_INTERPRETER') InputFile[source]
Add a file from a local path
- add_function(function: Callable, description: str | None = None, action_group: str | None = None)[source]
Add a function to the agent
- add_plugin(plugin: AgentPlugin)[source]
Add a plugin to the agent
- Parameters:
plugin – The plugin to add
- advanced_config: Dict[str, Any] | None = None
- deploy(output_dir: str | None = None, foundation_model: str | None = None, parameters: Dict[str, Dict[str, str]] | None = None, description: str | None = None, auto_build: bool = False, auto_deploy: bool = False) str[source]
Deploy the agent to AWS using SAM
- Parameters:
output_dir – The directory to output the SAM template and code to. If None, defaults to “./[agent_name]_deployment”
foundation_model – The foundation model to use (defaults to the agent’s model)
parameters – Additional parameters to add to the template
description – Description for the SAM template
auto_build – Whether to automatically run ‘sam build’
auto_deploy – Whether to automatically run ‘sam deploy –guided’
- Returns:
Path to the generated template file
- Return type:
str
- enable_code_interpreter: bool = False
- functions: List[Callable] | Dict[str, List[Callable]]
- instructions: str
- model: str
- model_config = {'arbitrary_types_allowed': True}
- name: str
- plugins: List[AgentPlugin]
- class bedrock_agents_sdk.AgentPlugin[source]
Bases:
objectBase class for all plugins for the Bedrock Agents SDK
- bedrock_agents_sdk.BedrockAgentsPlugin
alias of
AgentPlugin
- class bedrock_agents_sdk.Client(region_name: str | None = None, profile_name: str | None = None, verbosity: str = 'normal', trace_level: str = 'none', max_tool_calls: int = 10)[source]
Bases:
objectClient for interacting with Amazon Bedrock Agents
- chat(agent: Agent, session_id: str | None = None)[source]
Start an interactive chat session with the agent
- Parameters:
agent – The agent configuration
session_id – Optional session ID to continue a conversation. If not provided, a new session will be created.
- run(agent: Agent, message: str | None = None, messages: List[Message | Dict[str, str]] | None = None, session_id: str | None = None) Dict[str, Any][source]
Run the agent with either a simple message string or a list of structured messages
- Parameters:
agent – The agent configuration
message – A simple string message (mutually exclusive with messages)
messages – A list of messages in the conversation (mutually exclusive with message)
session_id – Optional session ID to continue a conversation. If not provided, a new session will be created.
- Returns:
Dictionary containing the response text and any files
- Return type:
Dict[str, Any]
- bedrock_agents_sdk.ClientPlugin
alias of
AgentPlugin
- class bedrock_agents_sdk.Function(*, name: str, description: str, function: Callable, action_group: str | None = None)[source]
Bases:
BaseModelRepresents a function that can be called by the agent
- action_group: str | None
- description: str
- function: Callable
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- class bedrock_agents_sdk.GuardrailPlugin(guardrail_id: str, guardrail_version: str = None)[source]
Bases:
AgentPluginPlugin for adding guardrails to Bedrock Agents
- class bedrock_agents_sdk.InputFile(*, name: str, content: bytes, media_type: str, use_case: str = 'CODE_INTERPRETER')[source]
Bases:
BaseModelRepresents a file to be sent to the agent
- content: bytes
- media_type: str
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- use_case: str
- class bedrock_agents_sdk.KnowledgeBasePlugin(knowledge_base_id: str, description: str = None, retrieval_config: dict = None)[source]
Bases:
AgentPluginPlugin for adding knowledge base integration to Bedrock Agents
- class bedrock_agents_sdk.Message(*, role: str, content: str)[source]
Bases:
BaseModelRepresents a message in the conversation
- content: str
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- role: str
- class bedrock_agents_sdk.OutputFile(name: str, content: bytes, file_type: str)[source]
Bases:
objectRepresents a file received from the agent
- classmethod from_response(file_data: Dict[str, Any]) OutputFile[source]
Create an OutputFile from API response data
- class bedrock_agents_sdk.SAMTemplateGenerator(agent: Agent, output_dir: str = None)[source]
Bases:
objectGenerates a SAM template for deploying a Bedrock Agent
- add_custom_dependency(action_group: str, dependency: str, version: str | None = None)[source]
Add a custom dependency for a specific action group
- Parameters:
action_group – The action group to add the dependency to
dependency – The name of the dependency
version – Optional version constraint (e.g., “>=1.0.0”)
- generate(foundation_model: str | None = None, parameters: Dict[str, Dict[str, str]] | None = None, description: str | None = None) str[source]
Generate the SAM template and supporting files
- Parameters:
foundation_model – The foundation model to use (defaults to the agent’s model)
parameters – Additional parameters to add to the template
description – Description for the SAM template
- Returns:
Path to the generated template file
- Return type:
str
- class bedrock_agents_sdk.SecurityPlugin(customer_encryption_key_arn=None)[source]
Bases:
AgentPluginPlugin for adding security features to Bedrock Agents