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 subsequent InvokeAgent 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 of recommendedActions 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:

  • 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 a parserMode value that is set to OVERRIDDEN. 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 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.

  • 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 a parserMode value that is set to OVERRIDDEN. 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 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.

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