:doc:`QConnect <../../qconnect>` / Client / create_ai_prompt

****************
create_ai_prompt
****************



.. py:method:: QConnect.Client.create_ai_prompt(**kwargs)

  

  Creates an Amazon Q in Connect AI Prompt.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/CreateAIPrompt>`_  


  **Request Syntax**
  ::

    response = client.create_ai_prompt(
        clientToken='string',
        assistantId='string',
        name='string',
        type='ANSWER_GENERATION'|'INTENT_LABELING_GENERATION'|'QUERY_REFORMULATION'|'SELF_SERVICE_PRE_PROCESSING'|'SELF_SERVICE_ANSWER_GENERATION'|'EMAIL_RESPONSE'|'EMAIL_OVERVIEW'|'EMAIL_GENERATIVE_ANSWER'|'EMAIL_QUERY_REFORMULATION'|'ORCHESTRATION'|'NOTE_TAKING'|'CASE_SUMMARIZATION',
        templateConfiguration={
            'textFullAIPromptEditTemplateConfiguration': {
                'text': 'string'
            }
        },
        visibilityStatus='SAVED'|'PUBLISHED',
        templateType='TEXT',
        modelId='string',
        apiFormat='ANTHROPIC_CLAUDE_MESSAGES'|'ANTHROPIC_CLAUDE_TEXT_COMPLETIONS'|'MESSAGES'|'TEXT_COMPLETIONS',
        tags={
            'string': 'string'
        },
        description='string',
        inferenceConfiguration={
            'temperature': ...,
            'topP': ...,
            'topK': 123,
            'maxTokensToSample': 123
        }
    )
    
  :type clientToken: string
  :param clientToken: 

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see `Making retries safe with idempotent APIs <http://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/>`__..

    This field is autopopulated if not provided.

  
  :type assistantId: string
  :param assistantId: **[REQUIRED]** 

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

    

  
  :type name: string
  :param name: **[REQUIRED]** 

    The name of the AI Prompt.

    

  
  :type type: string
  :param type: **[REQUIRED]** 

    The type of this AI Prompt.

    

  
  :type templateConfiguration: dict
  :param templateConfiguration: **[REQUIRED]** 

    The configuration of the prompt template for this AI Prompt.

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

  
    - **textFullAIPromptEditTemplateConfiguration** *(dict) --* 

      The configuration for a prompt template that supports full textual prompt configuration using a YAML prompt.

      

    
      - **text** *(string) --* **[REQUIRED]** 

        The YAML text for the AI Prompt template.

        

      
    
  
  :type visibilityStatus: string
  :param visibilityStatus: **[REQUIRED]** 

    The visibility status of the AI Prompt.

    

  
  :type templateType: string
  :param templateType: **[REQUIRED]** 

    The type of the prompt template for this AI Prompt.

    

  
  :type modelId: string
  :param modelId: **[REQUIRED]** 

    The identifier of the model used for this AI Prompt.

     

    .. note::

      

      For information about which models are supported in each Amazon Web Services Region, see `Supported models for system/custom prompts <https://docs.aws.amazon.com/connect/latest/adminguide/create-ai-prompts.html#cli-create-aiprompt>`__.

      

    

  
  :type apiFormat: string
  :param apiFormat: **[REQUIRED]** 

    The API Format of the AI Prompt.

     

    Recommended values: ``MESSAGES | TEXT_COMPLETIONS``

     

    .. note::

      

      The values ``ANTHROPIC_CLAUDE_MESSAGES | ANTHROPIC_CLAUDE_TEXT_COMPLETIONS`` will be deprecated.

      

    

  
  :type tags: dict
  :param tags: 

    The tags used to organize, track, or control access for this resource.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type description: string
  :param description: 

    The description of the AI Prompt.

    

  
  :type inferenceConfiguration: dict
  :param inferenceConfiguration: 

    The inference configuration for the AI Prompt being created.

    

  
    - **temperature** *(float) --* 

      The temperature setting for controlling randomness in the generated response.

      

    
    - **topP** *(float) --* 

      The top-P sampling parameter for nucleus sampling.

      

    
    - **topK** *(integer) --* 

      The top-K sampling parameter for token selection.

      

    
    - **maxTokensToSample** *(integer) --* 

      The maximum number of tokens to generate in the response.

      

    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'aiPrompt': {
              'assistantId': 'string',
              'assistantArn': 'string',
              'aiPromptId': 'string',
              'aiPromptArn': 'string',
              'name': 'string',
              'type': 'ANSWER_GENERATION'|'INTENT_LABELING_GENERATION'|'QUERY_REFORMULATION'|'SELF_SERVICE_PRE_PROCESSING'|'SELF_SERVICE_ANSWER_GENERATION'|'EMAIL_RESPONSE'|'EMAIL_OVERVIEW'|'EMAIL_GENERATIVE_ANSWER'|'EMAIL_QUERY_REFORMULATION'|'ORCHESTRATION'|'NOTE_TAKING'|'CASE_SUMMARIZATION',
              'templateType': 'TEXT',
              'modelId': 'string',
              'apiFormat': 'ANTHROPIC_CLAUDE_MESSAGES'|'ANTHROPIC_CLAUDE_TEXT_COMPLETIONS'|'MESSAGES'|'TEXT_COMPLETIONS',
              'templateConfiguration': {
                  'textFullAIPromptEditTemplateConfiguration': {
                      'text': 'string'
                  }
              },
              'inferenceConfiguration': {
                  'temperature': ...,
                  'topP': ...,
                  'topK': 123,
                  'maxTokensToSample': 123
              },
              'modifiedTime': datetime(2015, 1, 1),
              'description': 'string',
              'visibilityStatus': 'SAVED'|'PUBLISHED',
              'tags': {
                  'string': 'string'
              },
              'origin': 'SYSTEM'|'CUSTOMER',
              'status': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'ACTIVE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETED'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **aiPrompt** *(dict) --* 

        The data of the AI Prompt.

        
        

        - **assistantId** *(string) --* 

          The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

          
        

        - **assistantArn** *(string) --* 

          The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

          
        

        - **aiPromptId** *(string) --* 

          The identifier of the Amazon Q in Connect AI prompt.

          
        

        - **aiPromptArn** *(string) --* 

          The Amazon Resource Name (ARN) of the AI Prompt.

          
        

        - **name** *(string) --* 

          The name of the AI Prompt

          
        

        - **type** *(string) --* 

          The type of this AI Prompt.

          
        

        - **templateType** *(string) --* 

          The type of the prompt template for this AI Prompt.

          
        

        - **modelId** *(string) --* 

          The identifier of the model used for this AI Prompt. The following model Ids are supported:

           

          
          * ``anthropic.claude-3-haiku--v1:0``
           
          * ``apac.amazon.nova-lite-v1:0``
           
          * ``apac.amazon.nova-micro-v1:0``
           
          * ``apac.amazon.nova-pro-v1:0``
           
          * ``apac.anthropic.claude-3-5-sonnet--v2:0``
           
          * ``apac.anthropic.claude-3-haiku-20240307-v1:0``
           
          * ``eu.amazon.nova-lite-v1:0``
           
          * ``eu.amazon.nova-micro-v1:0``
           
          * ``eu.amazon.nova-pro-v1:0``
           
          * ``eu.anthropic.claude-3-7-sonnet-20250219-v1:0``
           
          * ``eu.anthropic.claude-3-haiku-20240307-v1:0``
           
          * ``us.amazon.nova-lite-v1:0``
           
          * ``us.amazon.nova-micro-v1:0``
           
          * ``us.amazon.nova-pro-v1:0``
           
          * ``us.anthropic.claude-3-5-haiku-20241022-v1:0``
           
          * ``us.anthropic.claude-3-7-sonnet-20250219-v1:0``
           
          * ``us.anthropic.claude-3-haiku-20240307-v1:0``
          

          
        

        - **apiFormat** *(string) --* 

          The API format used for this AI Prompt.

          
        

        - **templateConfiguration** *(dict) --* 

          The configuration of the prompt template for this AI Prompt.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``textFullAIPromptEditTemplateConfiguration``.     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'}


        
          

          - **textFullAIPromptEditTemplateConfiguration** *(dict) --* 

            The configuration for a prompt template that supports full textual prompt configuration using a YAML prompt.

            
            

            - **text** *(string) --* 

              The YAML text for the AI Prompt template.

              
        
      
        

        - **inferenceConfiguration** *(dict) --* 

          The configuration for inference parameters when using the AI Prompt.

          
          

          - **temperature** *(float) --* 

            The temperature setting for controlling randomness in the generated response.

            
          

          - **topP** *(float) --* 

            The top-P sampling parameter for nucleus sampling.

            
          

          - **topK** *(integer) --* 

            The top-K sampling parameter for token selection.

            
          

          - **maxTokensToSample** *(integer) --* 

            The maximum number of tokens to generate in the response.

            
      
        

        - **modifiedTime** *(datetime) --* 

          The time the AI Prompt was last modified.

          
        

        - **description** *(string) --* 

          The description of the AI Prompt.

          
        

        - **visibilityStatus** *(string) --* 

          The visibility status of the AI Prompt.

          
        

        - **tags** *(dict) --* 

          The tags used to organize, track, or control access for this resource.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
        

        - **origin** *(string) --* 

          The origin of the AI Prompt. ``SYSTEM`` for a default AI Prompt created by Q in Connect or ``CUSTOMER`` for an AI Prompt created by calling AI Prompt creation APIs.

          
        

        - **status** *(string) --* 

          The status of the AI Prompt.

          
    
  
  **Exceptions**
  
  *   :py:class:`QConnect.Client.exceptions.ConflictException`

  
  *   :py:class:`QConnect.Client.exceptions.ValidationException`

  
  *   :py:class:`QConnect.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`QConnect.Client.exceptions.UnauthorizedException`

  
  *   :py:class:`QConnect.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`QConnect.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`QConnect.Client.exceptions.ThrottlingException`

  