AgentsforBedrock / Client / create_prompt

create_prompt#

AgentsforBedrock.Client.create_prompt(**kwargs)#

Creates a prompt in your prompt library that you can add to a flow. For more information, see Prompt management in Amazon Bedrock, Create a prompt using Prompt management and Prompt flows in Amazon Bedrock in the Amazon Bedrock User Guide.

See also: AWS API Documentation

Request Syntax

response = client.create_prompt(
    clientToken='string',
    customerEncryptionKeyArn='string',
    defaultVariant='string',
    description='string',
    name='string',
    tags={
        'string': 'string'
    },
    variants=[
        {
            'additionalModelRequestFields': {...}|[...]|123|123.4|'string'|True|None,
            'genAiResource': {
                'agent': {
                    'agentIdentifier': 'string'
                }
            },
            'inferenceConfiguration': {
                'text': {
                    'maxTokens': 123,
                    'stopSequences': [
                        'string',
                    ],
                    'temperature': ...,
                    'topP': ...
                }
            },
            'metadata': [
                {
                    'key': 'string',
                    'value': 'string'
                },
            ],
            'modelId': 'string',
            'name': 'string',
            'templateConfiguration': {
                'chat': {
                    'inputVariables': [
                        {
                            'name': 'string'
                        },
                    ],
                    'messages': [
                        {
                            'content': [
                                {
                                    'text': 'string'
                                },
                            ],
                            'role': 'user'|'assistant'
                        },
                    ],
                    'system': [
                        {
                            'text': 'string'
                        },
                    ],
                    'toolConfiguration': {
                        'toolChoice': {
                            'any': {}
                            ,
                            'auto': {}
                            ,
                            'tool': {
                                'name': 'string'
                            }
                        },
                        'tools': [
                            {
                                'toolSpec': {
                                    'description': 'string',
                                    'inputSchema': {
                                        'json': {...}|[...]|123|123.4|'string'|True|None
                                    },
                                    'name': 'string'
                                }
                            },
                        ]
                    }
                },
                'text': {
                    'inputVariables': [
                        {
                            'name': 'string'
                        },
                    ],
                    'text': 'string'
                }
            },
            'templateType': 'TEXT'|'CHAT'
        },
    ]
)
Parameters:
  • 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 to encrypt the prompt.

  • defaultVariant (string) – The name of the default variant for the prompt. This value must match the name field in the relevant PromptVariant object.

  • description (string) – A description for the prompt.

  • name (string) –

    [REQUIRED]

    A name for the prompt.

  • tags (dict) –

    Any tags that you want to attach to the prompt. For more information, see Tagging resources in Amazon Bedrock.

    • (string) –

      • (string) –

  • variants (list) –

    A list of objects, each containing details about a variant of the prompt.

    • (dict) –

      Contains details about a variant of the prompt.

      • additionalModelRequestFields (document) –

        Contains model-specific inference configurations that aren’t in the inferenceConfiguration field. To see model-specific inference parameters, see Inference request parameters and response fields for foundation models.

      • genAiResource (dict) –

        Specifies a generative AI resource with which to use the prompt.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: agent.

        • agent (dict) –

          Specifies an Amazon Bedrock agent with which to use the prompt.

          • agentIdentifier (string) – [REQUIRED]

            The ARN of the agent with which to use the prompt.

      • inferenceConfiguration (dict) –

        Contains inference configurations for the prompt variant.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: text.

        • text (dict) –

          Contains inference configurations for a text prompt.

          • maxTokens (integer) –

            The maximum number of tokens to return in the response.

          • stopSequences (list) –

            A list of strings that define sequences after which the model will stop generating.

            • (string) –

          • temperature (float) –

            Controls the randomness of the response. Choose a lower value for more predictable outputs and a higher value for more surprising outputs.

          • topP (float) –

            The percentage of most-likely candidates that the model considers for the next token.

      • metadata (list) –

        An array of objects, each containing a key-value pair that defines a metadata tag and value to attach to a prompt variant.

        • (dict) –

          Contains a key-value pair that defines a metadata tag and value to attach to a prompt variant. For more information, see Create a prompt using Prompt management.

          • key (string) – [REQUIRED]

            The key of a metadata tag for a prompt variant.

          • value (string) – [REQUIRED]

            The value of a metadata tag for a prompt variant.

      • modelId (string) –

        The unique identifier of the model or inference profile with which to run inference on the prompt.

      • name (string) – [REQUIRED]

        The name of the prompt variant.

      • templateConfiguration (dict) – [REQUIRED]

        Contains configurations for the prompt template.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: chat, text.

        • chat (dict) –

          Contains configurations to use the prompt in a conversational format.

          • inputVariables (list) –

            An array of the variables in the prompt template.

            • (dict) –

              Contains information about a variable in the prompt.

              • name (string) –

                The name of the variable.

          • messages (list) – [REQUIRED]

            Contains messages in the chat for the prompt.

            • (dict) –

              A message input or response from a model. For more information, see Create a prompt using Prompt management.

              • content (list) – [REQUIRED]

                The content in the message.

                • (dict) –

                  Contains the content for the message you pass to, or receive from a model. For more information, see Create a prompt using Prompt management.

                  Note

                  This is a Tagged Union structure. Only one of the following top level keys can be set: text.

                  • text (string) –

                    The text in the message.

              • role (string) – [REQUIRED]

                The role that the message belongs to.

          • system (list) –

            Contains system prompts to provide context to the model or to describe how it should behave.

            • (dict) –

              Contains a system prompt to provide context to the model or to describe how it should behave. For more information, see Create a prompt using Prompt management.

              Note

              This is a Tagged Union structure. Only one of the following top level keys can be set: text.

              • text (string) –

                The text in the system prompt.

          • toolConfiguration (dict) –

            Configuration information for the tools that the model can use when generating a response.

            • toolChoice (dict) –

              Defines which tools the model should request when invoked.

              Note

              This is a Tagged Union structure. Only one of the following top level keys can be set: any, auto, tool.

              • any (dict) –

                Defines tools, at least one of which must be requested by the model. No text is generated but the results of tool use are sent back to the model to help generate a response.

              • auto (dict) –

                Defines tools. The model automatically decides whether to call a tool or to generate text instead.

              • tool (dict) –

                Defines a specific tool that the model must request. No text is generated but the results of tool use are sent back to the model to help generate a response.

                • name (string) – [REQUIRED]

                  The name of the tool.

            • tools (list) – [REQUIRED]

              An array of tools to pass to a model.

              • (dict) –

                Contains configurations for a tool that a model can use when generating a response. For more information, see Use a tool to complete an Amazon Bedrock model response.

                Note

                This is a Tagged Union structure. Only one of the following top level keys can be set: toolSpec.

                • toolSpec (dict) –

                  The specification for the tool.

                  • description (string) –

                    The description of the tool.

                  • inputSchema (dict) – [REQUIRED]

                    The input schema for the tool.

                    Note

                    This is a Tagged Union structure. Only one of the following top level keys can be set: json.

                    • json (document) –

                      A JSON object defining the input schema for the tool.

                  • name (string) – [REQUIRED]

                    The name of the tool.

        • text (dict) –

          Contains configurations for the text in a message for a prompt.

          • inputVariables (list) –

            An array of the variables in the prompt template.

            • (dict) –

              Contains information about a variable in the prompt.

              • name (string) –

                The name of the variable.

          • text (string) – [REQUIRED]

            The message for the prompt.

      • templateType (string) – [REQUIRED]

        The type of prompt template to use.

Return type:

dict

Returns:

Response Syntax

{
    'arn': 'string',
    'createdAt': datetime(2015, 1, 1),
    'customerEncryptionKeyArn': 'string',
    'defaultVariant': 'string',
    'description': 'string',
    'id': 'string',
    'name': 'string',
    'updatedAt': datetime(2015, 1, 1),
    'variants': [
        {
            'additionalModelRequestFields': {...}|[...]|123|123.4|'string'|True|None,
            'genAiResource': {
                'agent': {
                    'agentIdentifier': 'string'
                }
            },
            'inferenceConfiguration': {
                'text': {
                    'maxTokens': 123,
                    'stopSequences': [
                        'string',
                    ],
                    'temperature': ...,
                    'topP': ...
                }
            },
            'metadata': [
                {
                    'key': 'string',
                    'value': 'string'
                },
            ],
            'modelId': 'string',
            'name': 'string',
            'templateConfiguration': {
                'chat': {
                    'inputVariables': [
                        {
                            'name': 'string'
                        },
                    ],
                    'messages': [
                        {
                            'content': [
                                {
                                    'text': 'string'
                                },
                            ],
                            'role': 'user'|'assistant'
                        },
                    ],
                    'system': [
                        {
                            'text': 'string'
                        },
                    ],
                    'toolConfiguration': {
                        'toolChoice': {
                            'any': {},
                            'auto': {},
                            'tool': {
                                'name': 'string'
                            }
                        },
                        'tools': [
                            {
                                'toolSpec': {
                                    'description': 'string',
                                    'inputSchema': {
                                        'json': {...}|[...]|123|123.4|'string'|True|None
                                    },
                                    'name': 'string'
                                }
                            },
                        ]
                    }
                },
                'text': {
                    'inputVariables': [
                        {
                            'name': 'string'
                        },
                    ],
                    'text': 'string'
                }
            },
            'templateType': 'TEXT'|'CHAT'
        },
    ],
    'version': 'string'
}

Response Structure

  • (dict) –

    • arn (string) –

      The Amazon Resource Name (ARN) of the prompt.

    • createdAt (datetime) –

      The time at which the prompt was created.

    • customerEncryptionKeyArn (string) –

      The Amazon Resource Name (ARN) of the KMS key that you encrypted the prompt with.

    • defaultVariant (string) –

      The name of the default variant for your prompt.

    • description (string) –

      The description of the prompt.

    • id (string) –

      The unique identifier of the prompt.

    • name (string) –

      The name of the prompt.

    • updatedAt (datetime) –

      The time at which the prompt was last updated.

    • variants (list) –

      A list of objects, each containing details about a variant of the prompt.

      • (dict) –

        Contains details about a variant of the prompt.

        • additionalModelRequestFields (document) –

          Contains model-specific inference configurations that aren’t in the inferenceConfiguration field. To see model-specific inference parameters, see Inference request parameters and response fields for foundation models.

        • genAiResource (dict) –

          Specifies a generative AI resource with which to use the prompt.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: agent. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • agent (dict) –

            Specifies an Amazon Bedrock agent with which to use the prompt.

            • agentIdentifier (string) –

              The ARN of the agent with which to use the prompt.

        • inferenceConfiguration (dict) –

          Contains inference configurations for the prompt variant.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • text (dict) –

            Contains inference configurations for a text prompt.

            • maxTokens (integer) –

              The maximum number of tokens to return in the response.

            • stopSequences (list) –

              A list of strings that define sequences after which the model will stop generating.

              • (string) –

            • temperature (float) –

              Controls the randomness of the response. Choose a lower value for more predictable outputs and a higher value for more surprising outputs.

            • topP (float) –

              The percentage of most-likely candidates that the model considers for the next token.

        • metadata (list) –

          An array of objects, each containing a key-value pair that defines a metadata tag and value to attach to a prompt variant.

          • (dict) –

            Contains a key-value pair that defines a metadata tag and value to attach to a prompt variant. For more information, see Create a prompt using Prompt management.

            • key (string) –

              The key of a metadata tag for a prompt variant.

            • value (string) –

              The value of a metadata tag for a prompt variant.

        • modelId (string) –

          The unique identifier of the model or inference profile with which to run inference on the prompt.

        • name (string) –

          The name of the prompt variant.

        • templateConfiguration (dict) –

          Contains configurations for the prompt template.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: chat, text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • chat (dict) –

            Contains configurations to use the prompt in a conversational format.

            • inputVariables (list) –

              An array of the variables in the prompt template.

              • (dict) –

                Contains information about a variable in the prompt.

                • name (string) –

                  The name of the variable.

            • messages (list) –

              Contains messages in the chat for the prompt.

              • (dict) –

                A message input or response from a model. For more information, see Create a prompt using Prompt management.

                • content (list) –

                  The content in the message.

                  • (dict) –

                    Contains the content for the message you pass to, or receive from a model. For more information, see Create a prompt using Prompt management.

                    Note

                    This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

                    'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
                    
                    • text (string) –

                      The text in the message.

                • role (string) –

                  The role that the message belongs to.

            • system (list) –

              Contains system prompts to provide context to the model or to describe how it should behave.

              • (dict) –

                Contains a system prompt to provide context to the model or to describe how it should behave. For more information, see Create a prompt using Prompt management.

                Note

                This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
                
                • text (string) –

                  The text in the system prompt.

            • toolConfiguration (dict) –

              Configuration information for the tools that the model can use when generating a response.

              • toolChoice (dict) –

                Defines which tools the model should request when invoked.

                Note

                This is a Tagged Union structure. Only one of the following top level keys will be set: any, auto, tool. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
                
                • any (dict) –

                  Defines tools, at least one of which must be requested by the model. No text is generated but the results of tool use are sent back to the model to help generate a response.

                • auto (dict) –

                  Defines tools. The model automatically decides whether to call a tool or to generate text instead.

                • tool (dict) –

                  Defines a specific tool that the model must request. No text is generated but the results of tool use are sent back to the model to help generate a response.

                  • name (string) –

                    The name of the tool.

              • tools (list) –

                An array of tools to pass to a model.

                • (dict) –

                  Contains configurations for a tool that a model can use when generating a response. For more information, see Use a tool to complete an Amazon Bedrock model response.

                  Note

                  This is a Tagged Union structure. Only one of the following top level keys will be set: toolSpec. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

                  'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
                  
                  • toolSpec (dict) –

                    The specification for the tool.

                    • description (string) –

                      The description of the tool.

                    • inputSchema (dict) –

                      The input schema for the tool.

                      Note

                      This is a Tagged Union structure. Only one of the following top level keys will be set: json. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

                      'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
                      
                      • json (document) –

                        A JSON object defining the input schema for the tool.

                    • name (string) –

                      The name of the tool.

          • text (dict) –

            Contains configurations for the text in a message for a prompt.

            • inputVariables (list) –

              An array of the variables in the prompt template.

              • (dict) –

                Contains information about a variable in the prompt.

                • name (string) –

                  The name of the variable.

            • text (string) –

              The message for the prompt.

        • templateType (string) –

          The type of prompt template to use.

    • version (string) –

      The version of the prompt. When you create a prompt, the version created is the DRAFT version.

Exceptions