AgentsforBedrock / Client / create_agent
create_agent#
- AgentsforBedrock.Client.create_agent(**kwargs)#
Creates an agent that orchestrates interactions between foundation models, data sources, software applications, user conversations, and APIs to carry out tasks to help customers.
Specify the following fields for security purposes.
agentResourceRoleArn
– The Amazon Resource Name (ARN) of the role with permissions to invoke API operations on an agent.(Optional)
customerEncryptionKeyArn
– The Amazon Resource Name (ARN) of a KMS key to encrypt the creation of the agent.(Optional)
idleSessionTTLinSeconds
– Specify the number of seconds for which the agent should maintain session information. After this time expires, the subsequentInvokeAgent
request begins a new session.
To enable your agent to retain conversational context across multiple sessions, include a
memoryConfiguration
object. For more information, see Configure memory.To override the default prompt behavior for agent orchestration and to use advanced prompts, include a
promptOverrideConfiguration
object. For more information, see Advanced prompts.If your agent fails to be created, the response returns a list of
failureReasons
alongside a list ofrecommendedActions
for you to troubleshoot.The agent instructions will not be honored if your agent has only one knowledge base, uses default prompts, has no action group, and user input is disabled.
See also: AWS API Documentation
Request Syntax
response = client.create_agent( agentName='string', agentResourceRoleArn='string', clientToken='string', customerEncryptionKeyArn='string', description='string', foundationModel='string', guardrailConfiguration={ 'guardrailIdentifier': 'string', 'guardrailVersion': 'string' }, idleSessionTTLInSeconds=123, instruction='string', memoryConfiguration={ 'enabledMemoryTypes': [ 'SESSION_SUMMARY', ], 'storageDays': 123 }, promptOverrideConfiguration={ 'overrideLambda': 'string', 'promptConfigurations': [ { 'basePromptTemplate': 'string', 'inferenceConfiguration': { 'maximumLength': 123, 'stopSequences': [ 'string', ], 'temperature': ..., 'topK': 123, 'topP': ... }, 'parserMode': 'DEFAULT'|'OVERRIDDEN', 'promptCreationMode': 'DEFAULT'|'OVERRIDDEN', 'promptState': 'ENABLED'|'DISABLED', 'promptType': 'PRE_PROCESSING'|'ORCHESTRATION'|'POST_PROCESSING'|'KNOWLEDGE_BASE_RESPONSE_GENERATION' }, ] }, tags={ 'string': 'string' } )
- Parameters:
agentName (string) –
[REQUIRED]
A name for the agent that you create.
agentResourceRoleArn (string) – The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.
clientToken (string) –
A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.
This field is autopopulated if not provided.
customerEncryptionKeyArn (string) – The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent.
description (string) – A description of the agent.
foundationModel (string) –
The identifier for the model that you want to be used for orchestration by the agent you create.
The
modelId
to provide depends on the type of model or throughput that you use:If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see Amazon Bedrock base model IDs (on-demand throughput) in the Amazon Bedrock User Guide.
If you use an inference profile, specify the inference profile ID or its ARN. For a list of inference profile IDs, see Supported Regions and models for cross-region inference in the Amazon Bedrock User Guide.
If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see Run inference using a Provisioned Throughput in the Amazon Bedrock User Guide.
If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see Use a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.
If you use an imported model, specify the ARN of the imported model. You can get the model ARN from a successful call to CreateModelImportJob or from the Imported models page in the Amazon Bedrock console.
guardrailConfiguration (dict) –
The unique Guardrail configuration assigned to the agent when it is created.
guardrailIdentifier (string) –
The unique identifier of the guardrail.
guardrailVersion (string) –
The version of the guardrail.
idleSessionTTLInSeconds (integer) –
The number of seconds for which Amazon Bedrock keeps information about a user’s conversation with the agent.
A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.
instruction (string) – Instructions that tell the agent what it should do and how it should interact with users.
memoryConfiguration (dict) –
Contains the details of the memory configured for the agent.
enabledMemoryTypes (list) – [REQUIRED]
The type of memory that is stored.
(string) –
storageDays (integer) –
The number of days the agent is configured to retain the conversational context.
promptOverrideConfiguration (dict) –
Contains configurations to override prompts in different parts of an agent sequence. For more information, see Advanced prompts.
overrideLambda (string) –
The ARN of the Lambda function to use when parsing the raw foundation model output in parts of the agent sequence. If you specify this field, at least one of the
promptConfigurations
must contain aparserMode
value that is set toOVERRIDDEN
. For more information, see Parser Lambda function in Amazon Bedrock Agents.promptConfigurations (list) – [REQUIRED]
Contains configurations to override a prompt template in one part of an agent sequence. For more information, see Advanced prompts.
(dict) –
Contains configurations to override a prompt template in one part of an agent sequence. For more information, see Advanced prompts.
basePromptTemplate (string) –
Defines the prompt template with which to replace the default prompt template. You can use placeholder variables in the base prompt template to customize the prompt. For more information, see Prompt template placeholder variables. For more information, see Configure the prompt templates.
inferenceConfiguration (dict) –
Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the
promptType
. For more information, see Inference parameters for foundation models.maximumLength (integer) –
The maximum number of tokens to allow in the generated response.
stopSequences (list) –
A list of stop sequences. A stop sequence is a sequence of characters that causes the model to stop generating the response.
(string) –
temperature (float) –
The likelihood of the model selecting higher-probability options while generating a response. A lower value makes the model more likely to choose higher-probability options, while a higher value makes the model more likely to choose lower-probability options.
topK (integer) –
While generating a response, the model determines the probability of the following token at each point of generation. The value that you set for
topK
is the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you settopK
to 50, the model selects the next token from among the top 50 most likely choices.topP (float) –
While generating a response, the model determines the probability of the following token at each point of generation. The value that you set for
Top P
determines the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you settopP
to 80, the model only selects the next token from the top 80% of the probability distribution of next tokens.
parserMode (string) –
Specifies whether to override the default parser Lambda function when parsing the raw foundation model output in the part of the agent sequence defined by the
promptType
. If you set the field asOVERRIDEN
, theoverrideLambda
field in the PromptOverrideConfiguration must be specified with the ARN of a Lambda function.promptCreationMode (string) –
Specifies whether to override the default prompt template for this
promptType
. Set this value toOVERRIDDEN
to use the prompt that you provide in thebasePromptTemplate
. If you leave it asDEFAULT
, the agent uses a default prompt template.promptState (string) –
Specifies whether to allow the agent to carry out the step specified in the
promptType
. If you set this value toDISABLED
, the agent skips that step. The default state for eachpromptType
is as follows.PRE_PROCESSING
–ENABLED
ORCHESTRATION
–ENABLED
KNOWLEDGE_BASE_RESPONSE_GENERATION
–ENABLED
POST_PROCESSING
–DISABLED
promptType (string) –
The step in the agent sequence that this prompt configuration applies to.
tags (dict) –
Any tags that you want to attach to the agent.
(string) –
(string) –
- Return type:
dict
- Returns:
Response Syntax
{ 'agent': { 'agentArn': 'string', 'agentId': 'string', 'agentName': 'string', 'agentResourceRoleArn': 'string', 'agentStatus': 'CREATING'|'PREPARING'|'PREPARED'|'NOT_PREPARED'|'DELETING'|'FAILED'|'VERSIONING'|'UPDATING', 'agentVersion': 'string', 'clientToken': 'string', 'createdAt': datetime(2015, 1, 1), 'customerEncryptionKeyArn': 'string', 'description': 'string', 'failureReasons': [ 'string', ], 'foundationModel': 'string', 'guardrailConfiguration': { 'guardrailIdentifier': 'string', 'guardrailVersion': 'string' }, 'idleSessionTTLInSeconds': 123, 'instruction': 'string', 'memoryConfiguration': { 'enabledMemoryTypes': [ 'SESSION_SUMMARY', ], 'storageDays': 123 }, 'preparedAt': datetime(2015, 1, 1), 'promptOverrideConfiguration': { 'overrideLambda': 'string', 'promptConfigurations': [ { 'basePromptTemplate': 'string', 'inferenceConfiguration': { 'maximumLength': 123, 'stopSequences': [ 'string', ], 'temperature': ..., 'topK': 123, 'topP': ... }, 'parserMode': 'DEFAULT'|'OVERRIDDEN', 'promptCreationMode': 'DEFAULT'|'OVERRIDDEN', 'promptState': 'ENABLED'|'DISABLED', 'promptType': 'PRE_PROCESSING'|'ORCHESTRATION'|'POST_PROCESSING'|'KNOWLEDGE_BASE_RESPONSE_GENERATION' }, ] }, 'recommendedActions': [ 'string', ], 'updatedAt': datetime(2015, 1, 1) } }
Response Structure
(dict) –
agent (dict) –
Contains details about the agent created.
agentArn (string) –
The Amazon Resource Name (ARN) of the agent.
agentId (string) –
The unique identifier of the agent.
agentName (string) –
The name of the agent.
agentResourceRoleArn (string) –
The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.
agentStatus (string) –
The status of the agent and whether it is ready for use. The following statuses are possible:
CREATING – The agent is being created.
PREPARING – The agent is being prepared.
PREPARED – The agent is prepared and ready to be invoked.
NOT_PREPARED – The agent has been created but not yet prepared.
FAILED – The agent API operation failed.
UPDATING – The agent is being updated.
DELETING – The agent is being deleted.
agentVersion (string) –
The version of the agent.
clientToken (string) –
A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.
createdAt (datetime) –
The time at which the agent was created.
customerEncryptionKeyArn (string) –
The Amazon Resource Name (ARN) of the KMS key that encrypts the agent.
description (string) –
The description of the agent.
failureReasons (list) –
Contains reasons that the agent-related API that you invoked failed.
(string) –
foundationModel (string) –
The foundation model used for orchestration by the agent.
guardrailConfiguration (dict) –
Details about the guardrail associated with the agent.
guardrailIdentifier (string) –
The unique identifier of the guardrail.
guardrailVersion (string) –
The version of the guardrail.
idleSessionTTLInSeconds (integer) –
The number of seconds for which Amazon Bedrock keeps information about a user’s conversation with the agent.
A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.
instruction (string) –
Instructions that tell the agent what it should do and how it should interact with users.
memoryConfiguration (dict) –
Contains memory configuration for the agent.
enabledMemoryTypes (list) –
The type of memory that is stored.
(string) –
storageDays (integer) –
The number of days the agent is configured to retain the conversational context.
preparedAt (datetime) –
The time at which the agent was last prepared.
promptOverrideConfiguration (dict) –
Contains configurations to override prompt templates in different parts of an agent sequence. For more information, see Advanced prompts.
overrideLambda (string) –
The ARN of the Lambda function to use when parsing the raw foundation model output in parts of the agent sequence. If you specify this field, at least one of the
promptConfigurations
must contain aparserMode
value that is set toOVERRIDDEN
. For more information, see Parser Lambda function in Amazon Bedrock Agents.promptConfigurations (list) –
Contains configurations to override a prompt template in one part of an agent sequence. For more information, see Advanced prompts.
(dict) –
Contains configurations to override a prompt template in one part of an agent sequence. For more information, see Advanced prompts.
basePromptTemplate (string) –
Defines the prompt template with which to replace the default prompt template. You can use placeholder variables in the base prompt template to customize the prompt. For more information, see Prompt template placeholder variables. For more information, see Configure the prompt templates.
inferenceConfiguration (dict) –
Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the
promptType
. For more information, see Inference parameters for foundation models.maximumLength (integer) –
The maximum number of tokens to allow in the generated response.
stopSequences (list) –
A list of stop sequences. A stop sequence is a sequence of characters that causes the model to stop generating the response.
(string) –
temperature (float) –
The likelihood of the model selecting higher-probability options while generating a response. A lower value makes the model more likely to choose higher-probability options, while a higher value makes the model more likely to choose lower-probability options.
topK (integer) –
While generating a response, the model determines the probability of the following token at each point of generation. The value that you set for
topK
is the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you settopK
to 50, the model selects the next token from among the top 50 most likely choices.topP (float) –
While generating a response, the model determines the probability of the following token at each point of generation. The value that you set for
Top P
determines the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you settopP
to 80, the model only selects the next token from the top 80% of the probability distribution of next tokens.
parserMode (string) –
Specifies whether to override the default parser Lambda function when parsing the raw foundation model output in the part of the agent sequence defined by the
promptType
. If you set the field asOVERRIDEN
, theoverrideLambda
field in the PromptOverrideConfiguration must be specified with the ARN of a Lambda function.promptCreationMode (string) –
Specifies whether to override the default prompt template for this
promptType
. Set this value toOVERRIDDEN
to use the prompt that you provide in thebasePromptTemplate
. If you leave it asDEFAULT
, the agent uses a default prompt template.promptState (string) –
Specifies whether to allow the agent to carry out the step specified in the
promptType
. If you set this value toDISABLED
, the agent skips that step. The default state for eachpromptType
is as follows.PRE_PROCESSING
–ENABLED
ORCHESTRATION
–ENABLED
KNOWLEDGE_BASE_RESPONSE_GENERATION
–ENABLED
POST_PROCESSING
–DISABLED
promptType (string) –
The step in the agent sequence that this prompt configuration applies to.
recommendedActions (list) –
Contains recommended actions to take for the agent-related API that you invoked to succeed.
(string) –
updatedAt (datetime) –
The time at which the agent was last updated.
Exceptions
AgentsforBedrock.Client.exceptions.ThrottlingException
AgentsforBedrock.Client.exceptions.AccessDeniedException
AgentsforBedrock.Client.exceptions.ValidationException
AgentsforBedrock.Client.exceptions.InternalServerException
AgentsforBedrock.Client.exceptions.ConflictException
AgentsforBedrock.Client.exceptions.ServiceQuotaExceededException