Open mccauleyp opened 1 month ago
Just to update here, this issue will be addressed when merging #731
Able to reproduce, code snippet:
const agent = new bedrock.Agent(this, "Agent", {
foundationModel: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_V2_1,
instruction: "You are a helpful and friendly agent that answers questions about literature.",
});
const agent2 = new bedrock.Agent(this, "Agent2", {
foundationModel: bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_V2_1,
instruction: "You are a helpful and friendly agent that answers questions about literature.",
});
const actionGroupFunction = new lambda_python.PythonFunction(this, "ActionGroupFunction", {
runtime: lambda.Runtime.PYTHON_3_12,
entry: path.join(__dirname, "../lambda/action-group"),
});
const actionGroup = new bedrock.AgentActionGroup(this, "MyActionGroup", {
actionGroupName: "query-library",
description: "Use these functions to get information about the books in the library.",
actionGroupExecutor: {
lambda: actionGroupFunction,
},
actionGroupState: "ENABLED",
apiSchema: bedrock.ApiSchema.fromAsset(path.join(__dirname, "action-group.yaml")),
});
agent.addActionGroup(actionGroup);
agent2.addActionGroup(actionGroup);
Will produce Error: There is already a Construct with name 'AgentLambdaInvocationPolicy' in PythonFunction [ActionGroupFunction]
Describe the bug
I'm trying to use the same Lambda-based Action Group for multiple Bedrock Agents. When I try that using the
.add_action_group()
method of theAgent
construct, I get the following error:I think this is due to a limitation of the CDK constructs and not the Bedrock service disallowing the same Action Group being used for multiple agents. Potentially it could be fixed by changing the construct ID
AgentLambdaInvocationPolicy
to include the construct ID of eachAgent
.Expected Behavior
I think same Lambda should be usable by multiple Agents.
Current Behavior
See first section.
Reproduction Steps
Create a Lambda-based Action Group and try to attach it to add it to two different agents via the
.add_action_group
method of theAgent
construct.Possible Solution
Use an identifier unique to the
Agent
construct when creating theAgentLambdaInvocationPolicy
ID.Additional Information/Context
No response
CDK CLI Version
2.162.1
Framework Version
0.1.271
Node.js Version
v20.11.0
OS
OSX
Language
Python
Language Version
No response
Region experiencing the issue
us-east-1
Code modification
No
Other information
No response
Service quota