Agents for Amazon Bedrock

2024/05/20 - Agents for Amazon Bedrock - 6 updated api methods

Changes  This release adds support for using Guardrails with Bedrock Agents.

CreateAgent (updated) Link ¶
Changes (request, response)
Request
{'guardrailConfiguration': {'guardrailIdentifier': 'string',
                            'guardrailVersion': 'string'}}
Response
{'agent': {'guardrailConfiguration': {'guardrailIdentifier': 'string',
                                      'guardrailVersion': 'string'}}}

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 subsequent InvokeAgent request begins a new session.

  • 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 you agent fails to be created, the response returns a list of failureReasons alongside a list of recommendedActions for you to troubleshoot.

See also: AWS API Documentation

Request Syntax

client.create_agent(
    agentName='string',
    agentResourceRoleArn='string',
    clientToken='string',
    customerEncryptionKeyArn='string',
    description='string',
    foundationModel='string',
    guardrailConfiguration={
        'guardrailIdentifier': 'string',
        'guardrailVersion': 'string'
    },
    idleSessionTTLInSeconds=123,
    instruction='string',
    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'
    }
)
type agentName

string

param agentName

[REQUIRED]

A name for the agent that you create.

type agentResourceRoleArn

string

param agentResourceRoleArn

The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.

type clientToken

string

param clientToken

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.

type customerEncryptionKeyArn

string

param customerEncryptionKeyArn

The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent.

type description

string

param description

A description of the agent.

type foundationModel

string

param foundationModel

The foundation model to be used for orchestration by the agent you create.

type guardrailConfiguration

dict

param guardrailConfiguration

The unique Guardrail configuration assigned to the agent when it is created.

  • guardrailIdentifier (string) --

    The guardrails identifier assigned to the guardrails configuration.

  • guardrailVersion (string) --

    The guardrails version assigned to the guardrails configuration.

type idleSessionTTLInSeconds

integer

param idleSessionTTLInSeconds

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.

type instruction

string

param instruction

Instructions that tell the agent what it should do and how it should interact with users.

type promptOverrideConfiguration

dict

param promptOverrideConfiguration

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 a parserMode value that is set to OVERRIDDEN . For more information, see Parser Lambda function in Agents for Amazon Bedrock.

  • 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 set topK 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 set topP 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 as OVERRIDEN , the overrideLambda 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 to OVERRIDDEN to use the prompt that you provide in the basePromptTemplate . If you leave it as DEFAULT , 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 to DISABLED , the agent skips that step. The default state for each promptType is as follows.

        • PRE_PROCESSINGENABLED

        • ORCHESTRATIONENABLED

        • KNOWLEDGE_BASE_RESPONSE_GENERATIONENABLED

        • POST_PROCESSINGDISABLED

      • promptType (string) --

        The step in the agent sequence that this prompt configuration applies to.

type tags

dict

param tags

Any tags that you want to attach to the agent.

  • (string) --

    • (string) --

rtype

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',
        '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) --

        The guardrails configuration assigned to the agent.

        • guardrailIdentifier (string) --

          The guardrails identifier assigned to the guardrails configuration.

        • guardrailVersion (string) --

          The guardrails version assigned to the guardrails configuration.

      • 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.

      • 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 a parserMode value that is set to OVERRIDDEN . For more information, see Parser Lambda function in Agents for Amazon Bedrock.

        • 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 set topK 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 set topP 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 as OVERRIDEN , the overrideLambda 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 to OVERRIDDEN to use the prompt that you provide in the basePromptTemplate . If you leave it as DEFAULT , 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 to DISABLED , the agent skips that step. The default state for each promptType is as follows.

              • PRE_PROCESSINGENABLED

              • ORCHESTRATIONENABLED

              • KNOWLEDGE_BASE_RESPONSE_GENERATIONENABLED

              • POST_PROCESSINGDISABLED

            • 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.

GetAgent (updated) Link ¶
Changes (response)
{'agent': {'guardrailConfiguration': {'guardrailIdentifier': 'string',
                                      'guardrailVersion': 'string'}}}

Gets information about an agent.

See also: AWS API Documentation

Request Syntax

client.get_agent(
    agentId='string'
)
type agentId

string

param agentId

[REQUIRED]

The unique identifier of the agent.

rtype

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',
        '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.

      • 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) --

        The guardrails configuration assigned to the agent.

        • guardrailIdentifier (string) --

          The guardrails identifier assigned to the guardrails configuration.

        • guardrailVersion (string) --

          The guardrails version assigned to the guardrails configuration.

      • 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.

      • 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 a parserMode value that is set to OVERRIDDEN . For more information, see Parser Lambda function in Agents for Amazon Bedrock.

        • 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 set topK 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 set topP 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 as OVERRIDEN , the overrideLambda 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 to OVERRIDDEN to use the prompt that you provide in the basePromptTemplate . If you leave it as DEFAULT , 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 to DISABLED , the agent skips that step. The default state for each promptType is as follows.

              • PRE_PROCESSINGENABLED

              • ORCHESTRATIONENABLED

              • KNOWLEDGE_BASE_RESPONSE_GENERATIONENABLED

              • POST_PROCESSINGDISABLED

            • 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.

GetAgentVersion (updated) Link ¶
Changes (response)
{'agentVersion': {'guardrailConfiguration': {'guardrailIdentifier': 'string',
                                             'guardrailVersion': 'string'}}}

Gets details about a version of an agent.

See also: AWS API Documentation

Request Syntax

client.get_agent_version(
    agentId='string',
    agentVersion='string'
)
type agentId

string

param agentId

[REQUIRED]

The unique identifier of the agent.

type agentVersion

string

param agentVersion

[REQUIRED]

The version of the agent.

rtype

dict

returns

Response Syntax

{
    'agentVersion': {
        'agentArn': 'string',
        'agentId': 'string',
        'agentName': 'string',
        'agentResourceRoleArn': 'string',
        'agentStatus': 'CREATING'|'PREPARING'|'PREPARED'|'NOT_PREPARED'|'DELETING'|'FAILED'|'VERSIONING'|'UPDATING',
        'createdAt': datetime(2015, 1, 1),
        'customerEncryptionKeyArn': 'string',
        'description': 'string',
        'failureReasons': [
            'string',
        ],
        'foundationModel': 'string',
        'guardrailConfiguration': {
            'guardrailIdentifier': 'string',
            'guardrailVersion': 'string'
        },
        'idleSessionTTLInSeconds': 123,
        'instruction': 'string',
        '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),
        'version': 'string'
    }
}

Response Structure

  • (dict) --

    • agentVersion (dict) --

      Contains details about the version of the agent.

      • agentArn (string) --

        The Amazon Resource Name (ARN) of the agent that the version belongs to.

      • agentId (string) --

        The unique identifier of the agent that the version belongs to.

      • agentName (string) --

        The name of the agent that the version belongs to.

      • 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 that the version belongs to.

      • createdAt (datetime) --

        The time at which the version was created.

      • customerEncryptionKeyArn (string) --

        The Amazon Resource Name (ARN) of the KMS key that encrypts the agent.

      • description (string) --

        The description of the version.

      • failureReasons (list) --

        A list of reasons that the API operation on the version failed.

        • (string) --

      • foundationModel (string) --

        The foundation model that the version invokes.

      • guardrailConfiguration (dict) --

        The guardrails configuration assigned to the agent version.

        • guardrailIdentifier (string) --

          The guardrails identifier assigned to the guardrails configuration.

        • guardrailVersion (string) --

          The guardrails version assigned to the guardrails configuration.

      • 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) --

        The instructions provided to the agent.

      • 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 a parserMode value that is set to OVERRIDDEN . For more information, see Parser Lambda function in Agents for Amazon Bedrock.

        • 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 set topK 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 set topP 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 as OVERRIDEN , the overrideLambda 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 to OVERRIDDEN to use the prompt that you provide in the basePromptTemplate . If you leave it as DEFAULT , 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 to DISABLED , the agent skips that step. The default state for each promptType is as follows.

              • PRE_PROCESSINGENABLED

              • ORCHESTRATIONENABLED

              • KNOWLEDGE_BASE_RESPONSE_GENERATIONENABLED

              • POST_PROCESSINGDISABLED

            • promptType (string) --

              The step in the agent sequence that this prompt configuration applies to.

      • recommendedActions (list) --

        A list of recommended actions to take for the failed API operation on the version to succeed.

        • (string) --

      • updatedAt (datetime) --

        The time at which the version was last updated.

      • version (string) --

        The version number.

ListAgentVersions (updated) Link ¶
Changes (response)
{'agentVersionSummaries': {'guardrailConfiguration': {'guardrailIdentifier': 'string',
                                                      'guardrailVersion': 'string'}}}

Lists the versions of an agent and information about each version.

See also: AWS API Documentation

Request Syntax

client.list_agent_versions(
    agentId='string',
    maxResults=123,
    nextToken='string'
)
type agentId

string

param agentId

[REQUIRED]

The unique identifier of the agent.

type maxResults

integer

param maxResults

The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another request to return the next batch of results.

type nextToken

string

param nextToken

If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of results.

rtype

dict

returns

Response Syntax

{
    'agentVersionSummaries': [
        {
            'agentName': 'string',
            'agentStatus': 'CREATING'|'PREPARING'|'PREPARED'|'NOT_PREPARED'|'DELETING'|'FAILED'|'VERSIONING'|'UPDATING',
            'agentVersion': 'string',
            'createdAt': datetime(2015, 1, 1),
            'description': 'string',
            'guardrailConfiguration': {
                'guardrailIdentifier': 'string',
                'guardrailVersion': 'string'
            },
            'updatedAt': datetime(2015, 1, 1)
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • agentVersionSummaries (list) --

      A list of objects, each of which contains information about a version of the agent.

      • (dict) --

        Contains details about a version of an agent.

        • agentName (string) --

          The name of the agent to which the version belongs.

        • agentStatus (string) --

          The status of the agent to which the version belongs.

        • agentVersion (string) --

          The version of the agent.

        • createdAt (datetime) --

          The time at which the version was created.

        • description (string) --

          The description of the version of the agent.

        • guardrailConfiguration (dict) --

          The details of the guardrails configuration in the agent version summary.

          • guardrailIdentifier (string) --

            The guardrails identifier assigned to the guardrails configuration.

          • guardrailVersion (string) --

            The guardrails version assigned to the guardrails configuration.

        • updatedAt (datetime) --

          The time at which the version was last updated.

    • nextToken (string) --

      If the total number of results is greater than the maxResults value provided in the request, use this token when making another request in the nextToken field to return the next batch of results.

ListAgents (updated) Link ¶
Changes (response)
{'agentSummaries': {'guardrailConfiguration': {'guardrailIdentifier': 'string',
                                               'guardrailVersion': 'string'}}}

Lists the agents belonging to an account and information about each agent.

See also: AWS API Documentation

Request Syntax

client.list_agents(
    maxResults=123,
    nextToken='string'
)
type maxResults

integer

param maxResults

The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another request to return the next batch of results.

type nextToken

string

param nextToken

If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of results.

rtype

dict

returns

Response Syntax

{
    'agentSummaries': [
        {
            'agentId': 'string',
            'agentName': 'string',
            'agentStatus': 'CREATING'|'PREPARING'|'PREPARED'|'NOT_PREPARED'|'DELETING'|'FAILED'|'VERSIONING'|'UPDATING',
            'description': 'string',
            'guardrailConfiguration': {
                'guardrailIdentifier': 'string',
                'guardrailVersion': 'string'
            },
            'latestAgentVersion': 'string',
            'updatedAt': datetime(2015, 1, 1)
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • agentSummaries (list) --

      A list of objects, each of which contains information about an agent.

      • (dict) --

        Contains details about an agent.

        • agentId (string) --

          The unique identifier of the agent.

        • agentName (string) --

          The name of the agent.

        • agentStatus (string) --

          The status of the agent.

        • description (string) --

          The description of the agent.

        • guardrailConfiguration (dict) --

          The details of the guardrails configuration in the agent summary.

          • guardrailIdentifier (string) --

            The guardrails identifier assigned to the guardrails configuration.

          • guardrailVersion (string) --

            The guardrails version assigned to the guardrails configuration.

        • latestAgentVersion (string) --

          The latest version of the agent.

        • updatedAt (datetime) --

          The time at which the agent was last updated.

    • nextToken (string) --

      If the total number of results is greater than the maxResults value provided in the request, use this token when making another request in the nextToken field to return the next batch of results.

UpdateAgent (updated) Link ¶
Changes (request, response)
Request
{'guardrailConfiguration': {'guardrailIdentifier': 'string',
                            'guardrailVersion': 'string'}}
Response
{'agent': {'guardrailConfiguration': {'guardrailIdentifier': 'string',
                                      'guardrailVersion': 'string'}}}

Updates the configuration of an agent.

See also: AWS API Documentation

Request Syntax

client.update_agent(
    agentId='string',
    agentName='string',
    agentResourceRoleArn='string',
    customerEncryptionKeyArn='string',
    description='string',
    foundationModel='string',
    guardrailConfiguration={
        'guardrailIdentifier': 'string',
        'guardrailVersion': 'string'
    },
    idleSessionTTLInSeconds=123,
    instruction='string',
    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'
            },
        ]
    }
)
type agentId

string

param agentId

[REQUIRED]

The unique identifier of the agent.

type agentName

string

param agentName

[REQUIRED]

Specifies a new name for the agent.

type agentResourceRoleArn

string

param agentResourceRoleArn

[REQUIRED]

The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.

type customerEncryptionKeyArn

string

param customerEncryptionKeyArn

The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent.

type description

string

param description

Specifies a new description of the agent.

type foundationModel

string

param foundationModel

[REQUIRED]

Specifies a new foundation model to be used for orchestration by the agent.

type guardrailConfiguration

dict

param guardrailConfiguration

The unique Guardrail configuration assigned to the agent when it is updated.

  • guardrailIdentifier (string) --

    The guardrails identifier assigned to the guardrails configuration.

  • guardrailVersion (string) --

    The guardrails version assigned to the guardrails configuration.

type idleSessionTTLInSeconds

integer

param idleSessionTTLInSeconds

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.

type instruction

string

param instruction

Specifies new instructions that tell the agent what it should do and how it should interact with users.

type promptOverrideConfiguration

dict

param promptOverrideConfiguration

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 a parserMode value that is set to OVERRIDDEN . For more information, see Parser Lambda function in Agents for Amazon Bedrock.

  • 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 set topK 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 set topP 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 as OVERRIDEN , the overrideLambda 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 to OVERRIDDEN to use the prompt that you provide in the basePromptTemplate . If you leave it as DEFAULT , 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 to DISABLED , the agent skips that step. The default state for each promptType is as follows.

        • PRE_PROCESSINGENABLED

        • ORCHESTRATIONENABLED

        • KNOWLEDGE_BASE_RESPONSE_GENERATIONENABLED

        • POST_PROCESSINGDISABLED

      • promptType (string) --

        The step in the agent sequence that this prompt configuration applies to.

rtype

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',
        '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 that was updated.

      • 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) --

        The guardrails configuration assigned to the agent.

        • guardrailIdentifier (string) --

          The guardrails identifier assigned to the guardrails configuration.

        • guardrailVersion (string) --

          The guardrails version assigned to the guardrails configuration.

      • 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.

      • 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 a parserMode value that is set to OVERRIDDEN . For more information, see Parser Lambda function in Agents for Amazon Bedrock.

        • 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 set topK 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 set topP 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 as OVERRIDEN , the overrideLambda 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 to OVERRIDDEN to use the prompt that you provide in the basePromptTemplate . If you leave it as DEFAULT , 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 to DISABLED , the agent skips that step. The default state for each promptType is as follows.

              • PRE_PROCESSINGENABLED

              • ORCHESTRATIONENABLED

              • KNOWLEDGE_BASE_RESPONSE_GENERATIONENABLED

              • POST_PROCESSINGDISABLED

            • 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.