substrai-cdk-bedrock-agent
v0.2.0
Published
AWS CDK construct for deploying production-ready Bedrock AI agents with Lambda, DynamoDB, and OpenSearch
Downloads
25
Maintainers
Readme
substrai-cdk-bedrock-agent
AWS CDK construct for deploying production-ready Bedrock AI agents with Lambda, DynamoDB, and OpenSearch.
Installation
pip install substrai-cdk-bedrock-agentUsage
from aws_cdk import App, Stack
from substrai_cdk_bedrock_agent import BedrockAgentConstruct, BedrockAgentProps
app = App()
stack = Stack(app, "AgentStack")
agent = BedrockAgentConstruct(stack, "MyAgent", props=BedrockAgentProps(
agent_name="my-assistant",
model_id="anthropic.claude-3-5-sonnet-20241022-v2:0",
lambda_code_path="./agent_lambda",
lambda_memory_mb=1024,
session_ttl_days=14,
))
# Access created resources
print(agent.agent_function.function_arn)
print(agent.session_table.table_name)What Gets Deployed
- Lambda Function — Agent logic with configurable runtime, memory, and timeout
- DynamoDB Table — Session state with TTL auto-expiry and point-in-time recovery
- IAM Role — Least-privilege permissions for Bedrock and DynamoDB
- CloudWatch Log Group — 2-week retention with structured logging
- CloudWatch Alarms — Error rate and P99 latency monitoring
- X-Ray Tracing — Active tracing enabled by default
Configuration
| Property | Default | Description |
|----------|---------|-------------|
| agent_name | (required) | Name for all resources |
| model_id | claude-3-5-sonnet | Bedrock model identifier |
| lambda_memory_mb | 512 | Lambda memory allocation |
| lambda_timeout_seconds | 300 | Lambda timeout |
| session_ttl_days | 7 | DynamoDB session expiry |
| alarm_error_threshold | 5.0 | Error rate alarm (%) |
| alarm_latency_threshold_ms | 10000 | P99 latency alarm (ms) |
License
MIT
