Introduce AgentCore strands-agent sample - #360
justinschoeff wants to merge 5 commits into
Conversation
cae7e6b to
77768ed
Compare
| [tool.ruff] | ||
| target-version = "py310" | ||
| extend-exclude = ["lambda_worker"] | ||
| extend-exclude = ["bedrock_agentcore", "lambda_worker"] | ||
|
|
||
| [tool.mypy] | ||
| ignore_missing_imports = true | ||
| namespace_packages = true | ||
| exclude = ["lambda_worker/"] | ||
| exclude = ["bedrock_agentcore/", "lambda_worker/"] |
There was a problem hiding this comment.
What's behind the decision not to lint/typecheck?
There was a problem hiding this comment.
removed ruff. the mypy is becasue both have activities in their root and it complains about conflicting modules.
There was a problem hiding this comment.
Would the fix be to split the activities into a separate file?
| * [activity_worker](activity_worker) - Use Python activities from a workflow in another language. | ||
| * [batch_sliding_window](batch_sliding_window) - Batch processing with a sliding window of child workflows. | ||
| * [bedrock](bedrock) - Orchestrate a chatbot with Amazon Bedrock. | ||
| * [bedrock_agentcore/strands-agent](bedrock_agentcore/strands-agent) - Run a AWS Strands Agent with Temporal Plugin on AgentCore Worker. |
There was a problem hiding this comment.
Use underscores for directory name consistency?
| * [bedrock_agentcore/strands-agent](bedrock_agentcore/strands-agent) - Run a AWS Strands Agent with Temporal Plugin on AgentCore Worker. | |
| * [bedrock_agentcore/strands_agent](bedrock_agentcore/strands_agent) - Run a AWS Strands Agent with Temporal Plugin on AgentCore Worker. |
There was a problem hiding this comment.
Why do we have a strands-agent subdirectory in the first place? Planning on demoing other agent frameworks with AgentCore?
There was a problem hiding this comment.
I also have a helloworld-container version that builds a Docker image and has the http server in example. I'm not sure it's useful for python as it would be for other languages that don't support AgentCores CodeZip sdk. I was going to PR right after this, but I may not. I do think we'll want other examples at some point though. Open to moving it up a level.
There was a problem hiding this comment.
Seems reasonable to move it up a level until we add a second sample
6fd0c9e to
4b076d2
Compare
This sample includes a strands agent loop aimed to run on AWS AgentCore, invoked by Temporal serverless workers. This utilizes the AWS AgentCore CLI and related configuration for serverless workers.
4b076d2 to
9d5c46b
Compare
|
Sorry - was trying to test the docs using the sample but got blocked on Anthropic calls. I asked Codex to change the model to nova lite and it went rogue and pushed changes here hence the push and revert. Changes are already reverted and I only added snipsync comments |
What was changed
This sample includes a strands agent loop aimed to run on AWS AgentCore,
invoked by Temporal serverless workers. This utilizes the AWS AgentCore
CLI and related configuration for serverless workers.
Why?
AWS AgentCore has a unique interface and is a key service being marketed by AWS. This is in preparation for launch of serverless workers supporting AgentCore.
Checklist
Closes
How was this tested:
Ran the commands in readme, verified it created runtime, started the workflow and watched the worker in AgentCore runtime trigger activities in CW logs and in workflow history.
Any docs updates needed?
@lennessyy is working on docs