:doc:`AgentsforBedrockRuntime <../../bedrock-agent-runtime>` / Client / invoke_agent

************
invoke_agent
************



.. py:method:: AgentsforBedrockRuntime.Client.invoke_agent(**kwargs)

  

  

  Sends a prompt for the agent to process and respond to. Note the following fields for the request:

   

  
  * To continue the same conversation with an agent, use the same ``sessionId`` value in the request.
   
  * To activate trace enablement, turn ``enableTrace`` to ``true``. Trace enablement helps you follow the agent's reasoning process that led it to the information it processed, the actions it took, and the final result it yielded. For more information, see `Trace enablement <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-events>`__.
   
  * End a conversation by setting ``endSession`` to ``true``.
   
  * In the ``sessionState`` object, you can include attributes for the session or prompt or, if you configured an action group to return control, results from invocation of the action group.
  

   

  The response contains both **chunk** and **trace** attributes.

   

  The final response is returned in the ``bytes`` field of the ``chunk`` object. The ``InvokeAgent`` returns one chunk for the entire interaction.

   

  
  * The ``attribution`` object contains citations for parts of the response.
   
  * If you set ``enableTrace`` to ``true`` in the request, you can trace the agent's steps and reasoning process that led it to the response.
   
  * If the action predicted was configured to return control, the response returns parameters for the action, elicited from the user, in the ``returnControl`` field.
   
  * Errors are also surfaced in the response.
  

  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeAgent>`_  


  **Request Syntax**
  ::

    response = client.invoke_agent(
        agentAliasId='string',
        agentId='string',
        bedrockModelConfigurations={
            'performanceConfig': {
                'latency': 'standard'|'optimized'
            }
        },
        enableTrace=True|False,
        endSession=True|False,
        inputText='string',
        memoryId='string',
        promptCreationConfigurations={
            'excludePreviousThinkingSteps': True|False,
            'previousConversationTurnsToInclude': 123
        },
        sessionId='string',
        sessionState={
            'conversationHistory': {
                'messages': [
                    {
                        'content': [
                            {
                                'text': 'string'
                            },
                        ],
                        'role': 'user'|'assistant'
                    },
                ]
            },
            'files': [
                {
                    'name': 'string',
                    'source': {
                        'byteContent': {
                            'data': b'bytes',
                            'mediaType': 'string'
                        },
                        's3Location': {
                            'uri': 'string'
                        },
                        'sourceType': 'S3'|'BYTE_CONTENT'
                    },
                    'useCase': 'CODE_INTERPRETER'|'CHAT'
                },
            ],
            'invocationId': 'string',
            'knowledgeBaseConfigurations': [
                {
                    'knowledgeBaseId': 'string',
                    'retrievalConfiguration': {
                        'vectorSearchConfiguration': {
                            'filter': {
                                'andAll': [
                                    {'... recursive ...'},
                                ],
                                'equals': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'greaterThan': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'greaterThanOrEquals': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'in': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'lessThan': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'lessThanOrEquals': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'listContains': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'notEquals': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'notIn': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'orAll': [
                                    {'... recursive ...'},
                                ],
                                'startsWith': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                },
                                'stringContains': {
                                    'key': 'string',
                                    'value': {...}|[...]|123|123.4|'string'|True|None
                                }
                            },
                            'implicitFilterConfiguration': {
                                'metadataAttributes': [
                                    {
                                        'description': 'string',
                                        'key': 'string',
                                        'type': 'STRING'|'NUMBER'|'BOOLEAN'|'STRING_LIST'
                                    },
                                ],
                                'modelArn': 'string'
                            },
                            'numberOfResults': 123,
                            'overrideSearchType': 'HYBRID'|'SEMANTIC',
                            'rerankingConfiguration': {
                                'bedrockRerankingConfiguration': {
                                    'metadataConfiguration': {
                                        'selectionMode': 'SELECTIVE'|'ALL',
                                        'selectiveModeConfiguration': {
                                            'fieldsToExclude': [
                                                {
                                                    'fieldName': 'string'
                                                },
                                            ],
                                            'fieldsToInclude': [
                                                {
                                                    'fieldName': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'modelConfiguration': {
                                        'additionalModelRequestFields': {
                                            'string': {...}|[...]|123|123.4|'string'|True|None
                                        },
                                        'modelArn': 'string'
                                    },
                                    'numberOfRerankedResults': 123
                                },
                                'type': 'BEDROCK_RERANKING_MODEL'
                            }
                        }
                    }
                },
            ],
            'promptSessionAttributes': {
                'string': 'string'
            },
            'returnControlInvocationResults': [
                {
                    'apiResult': {
                        'actionGroup': 'string',
                        'agentId': 'string',
                        'apiPath': 'string',
                        'confirmationState': 'CONFIRM'|'DENY',
                        'httpMethod': 'string',
                        'httpStatusCode': 123,
                        'responseBody': {
                            'string': {
                                'body': 'string',
                                'images': [
                                    {
                                        'format': 'png'|'jpeg'|'gif'|'webp',
                                        'source': {
                                            'bytes': b'bytes'
                                        }
                                    },
                                ]
                            }
                        },
                        'responseState': 'FAILURE'|'REPROMPT'
                    },
                    'functionResult': {
                        'actionGroup': 'string',
                        'agentId': 'string',
                        'confirmationState': 'CONFIRM'|'DENY',
                        'function': 'string',
                        'responseBody': {
                            'string': {
                                'body': 'string',
                                'images': [
                                    {
                                        'format': 'png'|'jpeg'|'gif'|'webp',
                                        'source': {
                                            'bytes': b'bytes'
                                        }
                                    },
                                ]
                            }
                        },
                        'responseState': 'FAILURE'|'REPROMPT'
                    }
                },
            ],
            'sessionAttributes': {
                'string': 'string'
            }
        },
        sourceArn='string',
        streamingConfigurations={
            'applyGuardrailInterval': 123,
            'streamFinalResponse': True|False
        }
    )
    
  :type agentAliasId: string
  :param agentAliasId: **[REQUIRED]** 

    The alias of the agent to use.

    

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

    The unique identifier of the agent to use.

    

  
  :type bedrockModelConfigurations: dict
  :param bedrockModelConfigurations: 

    Model performance settings for the request.

    

  
    - **performanceConfig** *(dict) --* 

      The performance configuration for the model.

      

    
      - **latency** *(string) --* 

        To use a latency-optimized version of the model, set to ``optimized``.

        

      
    
  
  :type enableTrace: boolean
  :param enableTrace: 

    Specifies whether to turn on the trace or not to track the agent's reasoning process. For more information, see `Trace enablement <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-events>`__.

    

  
  :type endSession: boolean
  :param endSession: 

    Specifies whether to end the session with the agent or not.

    

  
  :type inputText: string
  :param inputText: 

    The prompt text to send the agent.

     

    .. note::

      

      If you include ``returnControlInvocationResults`` in the ``sessionState`` field, the ``inputText`` field will be ignored.

      

    

  
  :type memoryId: string
  :param memoryId: 

    The unique identifier of the agent memory.

    

  
  :type promptCreationConfigurations: dict
  :param promptCreationConfigurations: 

    Specifies parameters that control how the service populates the agent prompt for an ``InvokeAgent`` request. You can control which aspects of previous invocations in the same agent session the service uses to populate the agent prompt. This gives you more granular control over the contextual history that is used to process the current request.

    

  
    - **excludePreviousThinkingSteps** *(boolean) --* 

      If ``true``, the service removes any content between ``<thinking>`` tags from previous conversations in an agent session. The service will only remove content from already processed turns. This helps you remove content which might not be useful for current and subsequent invocations. This can reduce the input token count and potentially save costs. The default value is ``false``.

      

    
    - **previousConversationTurnsToInclude** *(integer) --* 

      The number of previous conversations from the ongoing agent session to include in the conversation history of the agent prompt, during the current invocation. This gives you more granular control over the context that the model is made aware of, and helps the model remove older context which is no longer useful during the ongoing agent session.

      

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

    The unique identifier of the session. Use the same value across requests to continue the same conversation.

    

  
  :type sessionState: dict
  :param sessionState: 

    Contains parameters that specify various attributes of the session. For more information, see `Control session context <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html>`__.

     

    .. note::

      

      If you include ``returnControlInvocationResults`` in the ``sessionState`` field, the ``inputText`` field will be ignored.

      

    

  
    - **conversationHistory** *(dict) --* 

      The state's conversation history.

      

    
      - **messages** *(list) --* 

        The conversation's messages.

        

      
        - *(dict) --* 

          Details about a message.

          

        
          - **content** *(list) --* **[REQUIRED]** 

            The message's content.

            

          
            - *(dict) --* 

              A content block.

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

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

                The block's text.

                

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

            The message's role.

            

          
        
    
    
    - **files** *(list) --* 

      Contains information about the files used by code interpreter.

      

    
      - *(dict) --* 

        Contains details of the source files.

        

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

          The name of the source file.

          

        
        - **source** *(dict) --* **[REQUIRED]** 

          Specifies where the files are located.

          

        
          - **byteContent** *(dict) --* 

            The data and the text of the attached files.

            

          
            - **data** *(bytes) --* **[REQUIRED]** 

              The raw bytes of the file to attach. The maximum size of all files that is attached is 10MB. You can attach a maximum of 5 files.

              

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

              The MIME type of data contained in the file used for chat.

              

            
          
          - **s3Location** *(dict) --* 

            The s3 location of the files to attach.

            

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

              The uri of the s3 object.

              

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

            The source type of the files to attach.

            

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

          Specifies how the source files will be used by the code interpreter.

          

        
      
  
    - **invocationId** *(string) --* 

      The identifier of the invocation of an action. This value must match the ``invocationId`` returned in the ``InvokeAgent`` response for the action whose results are provided in the ``returnControlInvocationResults`` field. For more information, see `Return control to the agent developer <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html>`__ and `Control session context <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html>`__.

      

    
    - **knowledgeBaseConfigurations** *(list) --* 

      An array of configurations, each of which applies to a knowledge base attached to the agent.

      

    
      - *(dict) --* 

        Configurations to apply to a knowledge base attached to the agent during query. For more information, see `Knowledge base retrieval configurations <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html#session-state-kb>`__.

        

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

          The unique identifier for a knowledge base attached to the agent.

          

        
        - **retrievalConfiguration** *(dict) --* **[REQUIRED]** 

          The configurations to apply to the knowledge base during query. For more information, see `Query configurations <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html>`__.

          

        
          - **vectorSearchConfiguration** *(dict) --* **[REQUIRED]** 

            Contains details about how the results from the vector search should be returned. For more information, see `Query configurations <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html>`__.

            

          
            - **filter** *(dict) --* 

              Specifies the filters to use on the metadata in the knowledge base data sources before returning results. For more information, see `Query configurations <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html>`__.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``andAll``, ``equals``, ``greaterThan``, ``greaterThanOrEquals``, ``in``, ``lessThan``, ``lessThanOrEquals``, ``listContains``, ``notEquals``, ``notIn``, ``orAll``, ``startsWith``, ``stringContains``. 

            
              - **andAll** *(list) --* 

                Knowledge base data sources are returned if their metadata attributes fulfill all the filter conditions inside this list.

                

              
                - *(dict) --* 

                  Specifies the filters to use on the metadata attributes in the knowledge base data sources before returning results. For more information, see `Query configurations <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html>`__. See the examples below to see how to use these filters.

                   

                  This data type is used in the following API operations:

                   

                  
                  * `Retrieve request <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax>`__ – in the ``filter`` field
                   
                  * `RetrieveAndGenerate request <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax>`__ – in the ``filter`` field
                  

                  .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``andAll``, ``equals``, ``greaterThan``, ``greaterThanOrEquals``, ``in``, ``lessThan``, ``lessThanOrEquals``, ``listContains``, ``notEquals``, ``notIn``, ``orAll``, ``startsWith``, ``stringContains``. 

                
            
              - **equals** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value matches the ``value`` in this object.

                 

                The following example would return data sources with an ``animal`` attribute whose value is ``cat``:

                 

                ``"equals": { "key": "animal", "value": "cat" }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **greaterThan** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value is greater than the ``value`` in this object.

                 

                The following example would return data sources with an ``year`` attribute whose value is greater than ``1989``:

                 

                ``"greaterThan": { "key": "year", "value": 1989 }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **greaterThanOrEquals** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value is greater than or equal to the ``value`` in this object.

                 

                The following example would return data sources with an ``year`` attribute whose value is greater than or equal to ``1989``:

                 

                ``"greaterThanOrEquals": { "key": "year", "value": 1989 }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **in** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value is in the list specified in the ``value`` in this object.

                 

                The following example would return data sources with an ``animal`` attribute that is either ``cat`` or ``dog``:

                 

                ``"in": { "key": "animal", "value": ["cat", "dog"] }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **lessThan** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value is less than the ``value`` in this object.

                 

                The following example would return data sources with an ``year`` attribute whose value is less than to ``1989``.

                 

                ``"lessThan": { "key": "year", "value": 1989 }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **lessThanOrEquals** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value is less than or equal to the ``value`` in this object.

                 

                The following example would return data sources with an ``year`` attribute whose value is less than or equal to ``1989``.

                 

                ``"lessThanOrEquals": { "key": "year", "value": 1989 }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **listContains** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value is a list that contains the ``value`` as one of its members.

                 

                The following example would return data sources with an ``animals`` attribute that is a list containing a ``cat`` member (for example ``["dog", "cat"]``).

                 

                ``"listContains": { "key": "animals", "value": "cat" }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **notEquals** *(dict) --* 

                Knowledge base data sources are returned when:

                 

                
                * It contains a metadata attribute whose name matches the ``key`` and whose value doesn't match the ``value`` in this object.
                 
                * The key is not present in the document.
                

                 

                The following example would return data sources that don't contain an ``animal`` attribute whose value is ``cat``.

                 

                ``"notEquals": { "key": "animal", "value": "cat" }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **notIn** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value isn't in the list specified in the ``value`` in this object.

                 

                The following example would return data sources whose ``animal`` attribute is neither ``cat`` nor ``dog``.

                 

                ``"notIn": { "key": "animal", "value": ["cat", "dog"] }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **orAll** *(list) --* 

                Knowledge base data sources are returned if their metadata attributes fulfill at least one of the filter conditions inside this list.

                

              
                - *(dict) --* 

                  Specifies the filters to use on the metadata attributes in the knowledge base data sources before returning results. For more information, see `Query configurations <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html>`__. See the examples below to see how to use these filters.

                   

                  This data type is used in the following API operations:

                   

                  
                  * `Retrieve request <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax>`__ – in the ``filter`` field
                   
                  * `RetrieveAndGenerate request <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax>`__ – in the ``filter`` field
                  

                  .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``andAll``, ``equals``, ``greaterThan``, ``greaterThanOrEquals``, ``in``, ``lessThan``, ``lessThanOrEquals``, ``listContains``, ``notEquals``, ``notIn``, ``orAll``, ``startsWith``, ``stringContains``. 

                
            
              - **startsWith** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value starts with the ``value`` in this object. This filter is currently only supported for Amazon OpenSearch Serverless vector stores.

                 

                The following example would return data sources with an ``animal`` attribute starts with ``ca`` (for example, ``cat`` or ``camel``).

                 

                ``"startsWith": { "key": "animal", "value": "ca" }``

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
              - **stringContains** *(dict) --* 

                Knowledge base data sources are returned if they contain a metadata attribute whose name matches the ``key`` and whose value is one of the following:

                 

                
                * A string that contains the ``value`` as a substring. The following example would return data sources with an ``animal`` attribute that contains the substring ``at`` (for example ``cat``). ``"stringContains": { "key": "animal", "value": "at" }``
                 
                * A list with a member that contains the ``value`` as a substring. The following example would return data sources with an ``animals`` attribute that is a list containing a member that contains the substring ``at`` (for example ``["dog", "cat"]``). ``"stringContains": { "key": "animals", "value": "at" }``
                

                

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

                  The name that the metadata attribute must match.

                  

                
                - **value** (:ref:`document<document>`) -- **[REQUIRED]** 

                  The value to whcih to compare the value of the metadata attribute.

                  

                
              
            
            - **implicitFilterConfiguration** *(dict) --* 

              Settings for implicit filtering.

              

            
              - **metadataAttributes** *(list) --* **[REQUIRED]** 

                Metadata that can be used in a filter.

                

              
                - *(dict) --* 

                  Details about a metadata attribute.

                  

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

                    The attribute's description.

                    

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

                    The attribute's key.

                    

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

                    The attribute's type.

                    

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

                The model that generates the filter.

                

              
            
            - **numberOfResults** *(integer) --* 

              The number of source chunks to retrieve.

              

            
            - **overrideSearchType** *(string) --* 

              By default, Amazon Bedrock decides a search strategy for you. If you're using an Amazon OpenSearch Serverless vector store that contains a filterable text field, you can specify whether to query the knowledge base with a ``HYBRID`` search using both vector embeddings and raw text, or ``SEMANTIC`` search using only vector embeddings. For other vector store configurations, only ``SEMANTIC`` search is available. For more information, see `Test a knowledge base <https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-test.html>`__.

              

            
            - **rerankingConfiguration** *(dict) --* 

              Contains configurations for reranking the retrieved results. For more information, see `Improve the relevance of query responses with a reranker model <https://docs.aws.amazon.com/bedrock/latest/userguide/rerank.html>`__.

              

            
              - **bedrockRerankingConfiguration** *(dict) --* 

                Contains configurations for an Amazon Bedrock reranker model.

                

              
                - **metadataConfiguration** *(dict) --* 

                  Contains configurations for the metadata to use in reranking.

                  

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

                    Specifies whether to consider all metadata when reranking, or only the metadata that you select. If you specify ``SELECTIVE``, include the ``selectiveModeConfiguration`` field.

                    

                  
                  - **selectiveModeConfiguration** *(dict) --* 

                    Contains configurations for the metadata fields to include or exclude when considering reranking.

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

                  
                    - **fieldsToExclude** *(list) --* 

                      An array of objects, each of which specifies a metadata field to exclude from consideration when reranking.

                      

                    
                      - *(dict) --* 

                        Contains information for a metadata field to include in or exclude from consideration when reranking.

                        

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

                          The name of a metadata field to include in or exclude from consideration when reranking.

                          

                        
                      
                  
                    - **fieldsToInclude** *(list) --* 

                      An array of objects, each of which specifies a metadata field to include in consideration when reranking. The remaining metadata fields are ignored.

                      

                    
                      - *(dict) --* 

                        Contains information for a metadata field to include in or exclude from consideration when reranking.

                        

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

                          The name of a metadata field to include in or exclude from consideration when reranking.

                          

                        
                      
                  
                  
                
                - **modelConfiguration** *(dict) --* **[REQUIRED]** 

                  Contains configurations for the reranker model.

                  

                
                  - **additionalModelRequestFields** *(dict) --* 

                    A JSON object whose keys are request fields for the model and whose values are values for those fields.

                    

                  
                    - *(string) --* 

                    
                      - (:ref:`document<document>`) -- 

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

                    The ARN of the reranker model to use.

                    

                  
                
                - **numberOfRerankedResults** *(integer) --* 

                  The number of results to return after reranking.

                  

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

                The type of reranker model.

                

              
            
          
        
      
  
    - **promptSessionAttributes** *(dict) --* 

      Contains attributes that persist across a prompt and the values of those attributes.

       

      
      * In orchestration prompt template, these attributes replace the $prompt_session_attributes$ placeholder variable. For more information, see `Prompt template placeholder variables <https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html>`__.
       
      * In `multi-agent collaboration <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-multi-agent-collaboration.html>`__, the ``promptSessionAttributes`` will only be used by supervisor agent when $prompt_session_attributes$ is present in prompt template.
      

      

    
      - *(string) --* 

      
        - *(string) --* 

        
  

    - **returnControlInvocationResults** *(list) --* 

      Contains information about the results from the action group invocation. For more information, see `Return control to the agent developer <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html>`__ and `Control session context <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html>`__.

       

      .. note::

        

        If you include this field, the ``inputText`` field will be ignored.

        

      

    
      - *(dict) --* 

        A result from the invocation of an action. For more information, see `Return control to the agent developer <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html>`__ and `Control session context <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html>`__.

         

        This data type is used in the following API operations:

         

        
        * `InvokeAgent request <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax>`__
        

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

      
        - **apiResult** *(dict) --* 

          The result from the API response from the action group invocation.

          

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

            The action group that the API operation belongs to.

            

          
          - **agentId** *(string) --* 

            The agent's ID.

            

          
          - **apiPath** *(string) --* 

            The path to the API operation.

            

          
          - **confirmationState** *(string) --* 

            Controls the API operations or functions to invoke based on the user confirmation.

            

          
          - **httpMethod** *(string) --* 

            The HTTP method for the API operation.

            

          
          - **httpStatusCode** *(integer) --* 

            http status code from API execution response (for example: 200, 400, 500).

            

          
          - **responseBody** *(dict) --* 

            The response body from the API operation. The key of the object is the content type (currently, only ``TEXT`` is supported). The response may be returned directly or from the Lambda function.

            

          
            - *(string) --* 

            
              - *(dict) --* 

                Contains the body of the API response.

                 

                This data type is used in the following API operations:

                 

                
                * In the ``returnControlInvocationResults`` field of the `InvokeAgent request <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax>`__
                

                

              
                - **body** *(string) --* 

                  The body of the API response.

                  

                
                - **images** *(list) --* 

                  Lists details, including format and source, for the image in the response from the function call. You can specify only one image and the function in the ``returnControlInvocationResults`` must be a computer use action. For more information, see `Configure an Amazon Bedrock Agent to complete tasks with computer use tools <https://docs.aws.amazon.com/bedrock/latest/userguide/agent-computer-use.html>`__.

                  

                
                  - *(dict) --* 

                    Details about an image in the result from a function in the action group invocation. You can specify images only when the function is a computer use action. For more information, see `Configure an Amazon Bedrock Agent to complete tasks with computer use tools <https://docs.aws.amazon.com/bedrock/latest/userguide/agent-computer-use.html>`__.

                    

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

                      The type of image in the result.

                      

                    
                    - **source** *(dict) --* **[REQUIRED]** 

                      The source of the image in the result.

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

                    
                      - **bytes** *(bytes) --* 

                        The raw image bytes for the image. If you use an Amazon Web Services SDK, you don't need to encode the image bytes in base64.

                        

                      
                    
                  
              
              
        
      
          - **responseState** *(string) --* 

            Controls the final response state returned to end user when API/Function execution failed. When this state is FAILURE, the request would fail with dependency failure exception. When this state is REPROMPT, the API/function response will be sent to model for re-prompt

            

          
        
        - **functionResult** *(dict) --* 

          The result from the function from the action group invocation.

          

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

            The action group that the function belongs to.

            

          
          - **agentId** *(string) --* 

            The agent's ID.

            

          
          - **confirmationState** *(string) --* 

            Contains the user confirmation information about the function that was called.

            

          
          - **function** *(string) --* 

            The name of the function that was called.

            

          
          - **responseBody** *(dict) --* 

            The response from the function call using the parameters. The response might be returned directly or from the Lambda function. Specify ``TEXT`` or ``IMAGES``. The key of the object is the content type. You can only specify one type. If you specify ``IMAGES``, you can specify only one image. You can specify images only when the function in the ``returnControlInvocationResults`` is a computer use action. For more information, see `Configure an Amazon Bedrock Agent to complete tasks with computer use tools <https://docs.aws.amazon.com/bedrock/latest/userguide/agent-computer-use.html>`__.

            

          
            - *(string) --* 

            
              - *(dict) --* 

                Contains the body of the API response.

                 

                This data type is used in the following API operations:

                 

                
                * In the ``returnControlInvocationResults`` field of the `InvokeAgent request <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax>`__
                

                

              
                - **body** *(string) --* 

                  The body of the API response.

                  

                
                - **images** *(list) --* 

                  Lists details, including format and source, for the image in the response from the function call. You can specify only one image and the function in the ``returnControlInvocationResults`` must be a computer use action. For more information, see `Configure an Amazon Bedrock Agent to complete tasks with computer use tools <https://docs.aws.amazon.com/bedrock/latest/userguide/agent-computer-use.html>`__.

                  

                
                  - *(dict) --* 

                    Details about an image in the result from a function in the action group invocation. You can specify images only when the function is a computer use action. For more information, see `Configure an Amazon Bedrock Agent to complete tasks with computer use tools <https://docs.aws.amazon.com/bedrock/latest/userguide/agent-computer-use.html>`__.

                    

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

                      The type of image in the result.

                      

                    
                    - **source** *(dict) --* **[REQUIRED]** 

                      The source of the image in the result.

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

                    
                      - **bytes** *(bytes) --* 

                        The raw image bytes for the image. If you use an Amazon Web Services SDK, you don't need to encode the image bytes in base64.

                        

                      
                    
                  
              
              
        
      
          - **responseState** *(string) --* 

            Controls the final response state returned to end user when API/Function execution failed. When this state is FAILURE, the request would fail with dependency failure exception. When this state is REPROMPT, the API/function response will be sent to model for re-prompt

            

          
        
      
  
    - **sessionAttributes** *(dict) --* 

      Contains attributes that persist across a session and the values of those attributes. If ``sessionAttributes`` are passed to a supervisor agent in `multi-agent collaboration <https://docs.aws.amazon.com/bedrock/latest/userguide/agents-multi-agent-collaboration.html>`__, it will be forwarded to all agent collaborators.

      

    
      - *(string) --* 

      
        - *(string) --* 

        
  

  
  :type sourceArn: string
  :param sourceArn: 

    The ARN of the resource making the request.

    

  
  :type streamingConfigurations: dict
  :param streamingConfigurations: 

    Specifies the configurations for streaming.

     

    .. note::

      

      To use agent streaming, you need permissions to perform the ``bedrock:InvokeModelWithResponseStream`` action.

      

    

  
    - **applyGuardrailInterval** *(integer) --* 

      The guardrail interval to apply as response is generated. By default, the guardrail interval is set to 50 characters. If a larger interval is specified, the response will be generated in larger chunks with fewer ``ApplyGuardrail`` calls. The following examples show the response generated for *Hello, I am an agent* input string.

       

      **Example response in chunks: Interval set to 3 characters**

       

      ``'Hel', 'lo, ','I am', ' an', ' Age', 'nt'``

       

      Each chunk has at least 3 characters except for the last chunk

       

      **Example response in chunks: Interval set to 20 or more characters**

       

      ``Hello, I am an Agent``

      

    
    - **streamFinalResponse** *(boolean) --* 

      Specifies whether to enable streaming for the final response. This is set to ``false`` by default.

      

    
  
  
  :rtype: dict
  :returns: 
    

    The response of this operation contains an :class:`.EventStream` member. When iterated the :class:`.EventStream` will yield events based on the structure below, where only one of the top level keys will be present for any given event.
    
    **Response Syntax**

    
    ::

      {
          'completion': EventStream({
              'accessDeniedException': {
                  'message': 'string'
              },
              'badGatewayException': {
                  'message': 'string',
                  'resourceName': 'string'
              },
              'chunk': {
                  'attribution': {
                      'citations': [
                          {
                              'generatedResponsePart': {
                                  'textResponsePart': {
                                      'span': {
                                          'end': 123,
                                          'start': 123
                                      },
                                      'text': 'string'
                                  }
                              },
                              'retrievedReferences': [
                                  {
                                      'content': {
                                          'audio': {
                                              's3Uri': 'string',
                                              'transcription': 'string'
                                          },
                                          'byteContent': 'string',
                                          'row': [
                                              {
                                                  'columnName': 'string',
                                                  'columnValue': 'string',
                                                  'type': 'BLOB'|'BOOLEAN'|'DOUBLE'|'NULL'|'LONG'|'STRING'
                                              },
                                          ],
                                          'text': 'string',
                                          'type': 'TEXT'|'IMAGE'|'ROW'|'AUDIO'|'VIDEO',
                                          'video': {
                                              's3Uri': 'string',
                                              'summary': 'string'
                                          }
                                      },
                                      'location': {
                                          'confluenceLocation': {
                                              'url': 'string'
                                          },
                                          'customDocumentLocation': {
                                              'id': 'string'
                                          },
                                          'kendraDocumentLocation': {
                                              'uri': 'string'
                                          },
                                          's3Location': {
                                              'uri': 'string'
                                          },
                                          'salesforceLocation': {
                                              'url': 'string'
                                          },
                                          'sharePointLocation': {
                                              'url': 'string'
                                          },
                                          'sqlLocation': {
                                              'query': 'string'
                                          },
                                          'type': 'S3'|'WEB'|'CONFLUENCE'|'SALESFORCE'|'SHAREPOINT'|'CUSTOM'|'KENDRA'|'SQL',
                                          'webLocation': {
                                              'url': 'string'
                                          }
                                      },
                                      'metadata': {
                                          'string': {...}|[...]|123|123.4|'string'|True|None
                                      }
                                  },
                              ]
                          },
                      ]
                  },
                  'bytes': b'bytes'
              },
              'conflictException': {
                  'message': 'string'
              },
              'dependencyFailedException': {
                  'message': 'string',
                  'resourceName': 'string'
              },
              'files': {
                  'files': [
                      {
                          'bytes': b'bytes',
                          'name': 'string',
                          'type': 'string'
                      },
                  ]
              },
              'internalServerException': {
                  'message': 'string',
                  'reason': 'string'
              },
              'modelNotReadyException': {
                  'message': 'string'
              },
              'resourceNotFoundException': {
                  'message': 'string'
              },
              'returnControl': {
                  'invocationId': 'string',
                  'invocationInputs': [
                      {
                          'apiInvocationInput': {
                              'actionGroup': 'string',
                              'actionInvocationType': 'RESULT'|'USER_CONFIRMATION'|'USER_CONFIRMATION_AND_RESULT',
                              'agentId': 'string',
                              'apiPath': 'string',
                              'collaboratorName': 'string',
                              'httpMethod': 'string',
                              'parameters': [
                                  {
                                      'name': 'string',
                                      'type': 'string',
                                      'value': 'string'
                                  },
                              ],
                              'requestBody': {
                                  'content': {
                                      'string': {
                                          'properties': [
                                              {
                                                  'name': 'string',
                                                  'type': 'string',
                                                  'value': 'string'
                                              },
                                          ]
                                      }
                                  }
                              }
                          },
                          'functionInvocationInput': {
                              'actionGroup': 'string',
                              'actionInvocationType': 'RESULT'|'USER_CONFIRMATION'|'USER_CONFIRMATION_AND_RESULT',
                              'agentId': 'string',
                              'collaboratorName': 'string',
                              'function': 'string',
                              'parameters': [
                                  {
                                      'name': 'string',
                                      'type': 'string',
                                      'value': 'string'
                                  },
                              ]
                          }
                      },
                  ]
              },
              'serviceQuotaExceededException': {
                  'message': 'string'
              },
              'throttlingException': {
                  'message': 'string'
              },
              'trace': {
                  'agentAliasId': 'string',
                  'agentId': 'string',
                  'agentVersion': 'string',
                  'callerChain': [
                      {
                          'agentAliasArn': 'string'
                      },
                  ],
                  'collaboratorName': 'string',
                  'eventTime': datetime(2015, 1, 1),
                  'sessionId': 'string',
                  'trace': {
                      'customOrchestrationTrace': {
                          'event': {
                              'text': 'string'
                          },
                          'traceId': 'string'
                      },
                      'failureTrace': {
                          'failureCode': 123,
                          'failureReason': 'string',
                          'metadata': {
                              'clientRequestId': 'string',
                              'endTime': datetime(2015, 1, 1),
                              'operationTotalTimeMs': 123,
                              'startTime': datetime(2015, 1, 1),
                              'totalTimeMs': 123,
                              'usage': {
                                  'inputTokens': 123,
                                  'outputTokens': 123
                              }
                          },
                          'traceId': 'string'
                      },
                      'guardrailTrace': {
                          'action': 'INTERVENED'|'NONE',
                          'inputAssessments': [
                              {
                                  'contentPolicy': {
                                      'filters': [
                                          {
                                              'action': 'BLOCKED',
                                              'confidence': 'NONE'|'LOW'|'MEDIUM'|'HIGH',
                                              'type': 'INSULTS'|'HATE'|'SEXUAL'|'VIOLENCE'|'MISCONDUCT'|'PROMPT_ATTACK'
                                          },
                                      ]
                                  },
                                  'sensitiveInformationPolicy': {
                                      'piiEntities': [
                                          {
                                              'action': 'BLOCKED'|'ANONYMIZED',
                                              'match': 'string',
                                              'type': 'ADDRESS'|'AGE'|'AWS_ACCESS_KEY'|'AWS_SECRET_KEY'|'CA_HEALTH_NUMBER'|'CA_SOCIAL_INSURANCE_NUMBER'|'CREDIT_DEBIT_CARD_CVV'|'CREDIT_DEBIT_CARD_EXPIRY'|'CREDIT_DEBIT_CARD_NUMBER'|'DRIVER_ID'|'EMAIL'|'INTERNATIONAL_BANK_ACCOUNT_NUMBER'|'IP_ADDRESS'|'LICENSE_PLATE'|'MAC_ADDRESS'|'NAME'|'PASSWORD'|'PHONE'|'PIN'|'SWIFT_CODE'|'UK_NATIONAL_HEALTH_SERVICE_NUMBER'|'UK_NATIONAL_INSURANCE_NUMBER'|'UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER'|'URL'|'USERNAME'|'US_BANK_ACCOUNT_NUMBER'|'US_BANK_ROUTING_NUMBER'|'US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER'|'US_PASSPORT_NUMBER'|'US_SOCIAL_SECURITY_NUMBER'|'VEHICLE_IDENTIFICATION_NUMBER'
                                          },
                                      ],
                                      'regexes': [
                                          {
                                              'action': 'BLOCKED'|'ANONYMIZED',
                                              'match': 'string',
                                              'name': 'string',
                                              'regex': 'string'
                                          },
                                      ]
                                  },
                                  'topicPolicy': {
                                      'topics': [
                                          {
                                              'action': 'BLOCKED',
                                              'name': 'string',
                                              'type': 'DENY'
                                          },
                                      ]
                                  },
                                  'wordPolicy': {
                                      'customWords': [
                                          {
                                              'action': 'BLOCKED',
                                              'match': 'string'
                                          },
                                      ],
                                      'managedWordLists': [
                                          {
                                              'action': 'BLOCKED',
                                              'match': 'string',
                                              'type': 'PROFANITY'
                                          },
                                      ]
                                  }
                              },
                          ],
                          'metadata': {
                              'clientRequestId': 'string',
                              'endTime': datetime(2015, 1, 1),
                              'operationTotalTimeMs': 123,
                              'startTime': datetime(2015, 1, 1),
                              'totalTimeMs': 123,
                              'usage': {
                                  'inputTokens': 123,
                                  'outputTokens': 123
                              }
                          },
                          'outputAssessments': [
                              {
                                  'contentPolicy': {
                                      'filters': [
                                          {
                                              'action': 'BLOCKED',
                                              'confidence': 'NONE'|'LOW'|'MEDIUM'|'HIGH',
                                              'type': 'INSULTS'|'HATE'|'SEXUAL'|'VIOLENCE'|'MISCONDUCT'|'PROMPT_ATTACK'
                                          },
                                      ]
                                  },
                                  'sensitiveInformationPolicy': {
                                      'piiEntities': [
                                          {
                                              'action': 'BLOCKED'|'ANONYMIZED',
                                              'match': 'string',
                                              'type': 'ADDRESS'|'AGE'|'AWS_ACCESS_KEY'|'AWS_SECRET_KEY'|'CA_HEALTH_NUMBER'|'CA_SOCIAL_INSURANCE_NUMBER'|'CREDIT_DEBIT_CARD_CVV'|'CREDIT_DEBIT_CARD_EXPIRY'|'CREDIT_DEBIT_CARD_NUMBER'|'DRIVER_ID'|'EMAIL'|'INTERNATIONAL_BANK_ACCOUNT_NUMBER'|'IP_ADDRESS'|'LICENSE_PLATE'|'MAC_ADDRESS'|'NAME'|'PASSWORD'|'PHONE'|'PIN'|'SWIFT_CODE'|'UK_NATIONAL_HEALTH_SERVICE_NUMBER'|'UK_NATIONAL_INSURANCE_NUMBER'|'UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER'|'URL'|'USERNAME'|'US_BANK_ACCOUNT_NUMBER'|'US_BANK_ROUTING_NUMBER'|'US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER'|'US_PASSPORT_NUMBER'|'US_SOCIAL_SECURITY_NUMBER'|'VEHICLE_IDENTIFICATION_NUMBER'
                                          },
                                      ],
                                      'regexes': [
                                          {
                                              'action': 'BLOCKED'|'ANONYMIZED',
                                              'match': 'string',
                                              'name': 'string',
                                              'regex': 'string'
                                          },
                                      ]
                                  },
                                  'topicPolicy': {
                                      'topics': [
                                          {
                                              'action': 'BLOCKED',
                                              'name': 'string',
                                              'type': 'DENY'
                                          },
                                      ]
                                  },
                                  'wordPolicy': {
                                      'customWords': [
                                          {
                                              'action': 'BLOCKED',
                                              'match': 'string'
                                          },
                                      ],
                                      'managedWordLists': [
                                          {
                                              'action': 'BLOCKED',
                                              'match': 'string',
                                              'type': 'PROFANITY'
                                          },
                                      ]
                                  }
                              },
                          ],
                          'traceId': 'string'
                      },
                      'orchestrationTrace': {
                          'invocationInput': {
                              'actionGroupInvocationInput': {
                                  'actionGroupName': 'string',
                                  'apiPath': 'string',
                                  'executionType': 'LAMBDA'|'RETURN_CONTROL',
                                  'function': 'string',
                                  'invocationId': 'string',
                                  'parameters': [
                                      {
                                          'name': 'string',
                                          'type': 'string',
                                          'value': 'string'
                                      },
                                  ],
                                  'requestBody': {
                                      'content': {
                                          'string': [
                                              {
                                                  'name': 'string',
                                                  'type': 'string',
                                                  'value': 'string'
                                              },
                                          ]
                                      }
                                  },
                                  'verb': 'string'
                              },
                              'agentCollaboratorInvocationInput': {
                                  'agentCollaboratorAliasArn': 'string',
                                  'agentCollaboratorName': 'string',
                                  'input': {
                                      'returnControlResults': {
                                          'invocationId': 'string',
                                          'returnControlInvocationResults': [
                                              {
                                                  'apiResult': {
                                                      'actionGroup': 'string',
                                                      'agentId': 'string',
                                                      'apiPath': 'string',
                                                      'confirmationState': 'CONFIRM'|'DENY',
                                                      'httpMethod': 'string',
                                                      'httpStatusCode': 123,
                                                      'responseBody': {
                                                          'string': {
                                                              'body': 'string',
                                                              'images': [
                                                                  {
                                                                      'format': 'png'|'jpeg'|'gif'|'webp',
                                                                      'source': {
                                                                          'bytes': b'bytes'
                                                                      }
                                                                  },
                                                              ]
                                                          }
                                                      },
                                                      'responseState': 'FAILURE'|'REPROMPT'
                                                  },
                                                  'functionResult': {
                                                      'actionGroup': 'string',
                                                      'agentId': 'string',
                                                      'confirmationState': 'CONFIRM'|'DENY',
                                                      'function': 'string',
                                                      'responseBody': {
                                                          'string': {
                                                              'body': 'string',
                                                              'images': [
                                                                  {
                                                                      'format': 'png'|'jpeg'|'gif'|'webp',
                                                                      'source': {
                                                                          'bytes': b'bytes'
                                                                      }
                                                                  },
                                                              ]
                                                          }
                                                      },
                                                      'responseState': 'FAILURE'|'REPROMPT'
                                                  }
                                              },
                                          ]
                                      },
                                      'text': 'string',
                                      'type': 'TEXT'|'RETURN_CONTROL'
                                  }
                              },
                              'codeInterpreterInvocationInput': {
                                  'code': 'string',
                                  'files': [
                                      'string',
                                  ]
                              },
                              'invocationType': 'ACTION_GROUP'|'KNOWLEDGE_BASE'|'FINISH'|'ACTION_GROUP_CODE_INTERPRETER'|'AGENT_COLLABORATOR',
                              'knowledgeBaseLookupInput': {
                                  'knowledgeBaseId': 'string',
                                  'text': 'string'
                              },
                              'traceId': 'string'
                          },
                          'modelInvocationInput': {
                              'foundationModel': 'string',
                              'inferenceConfiguration': {
                                  'maximumLength': 123,
                                  'stopSequences': [
                                      'string',
                                  ],
                                  'temperature': ...,
                                  'topK': 123,
                                  'topP': ...
                              },
                              'overrideLambda': 'string',
                              'parserMode': 'DEFAULT'|'OVERRIDDEN',
                              'promptCreationMode': 'DEFAULT'|'OVERRIDDEN',
                              'text': 'string',
                              'traceId': 'string',
                              'type': 'PRE_PROCESSING'|'ORCHESTRATION'|'KNOWLEDGE_BASE_RESPONSE_GENERATION'|'POST_PROCESSING'|'ROUTING_CLASSIFIER'
                          },
                          'modelInvocationOutput': {
                              'metadata': {
                                  'clientRequestId': 'string',
                                  'endTime': datetime(2015, 1, 1),
                                  'operationTotalTimeMs': 123,
                                  'startTime': datetime(2015, 1, 1),
                                  'totalTimeMs': 123,
                                  'usage': {
                                      'inputTokens': 123,
                                      'outputTokens': 123
                                  }
                              },
                              'rawResponse': {
                                  'content': 'string'
                              },
                              'reasoningContent': {
                                  'reasoningText': {
                                      'signature': 'string',
                                      'text': 'string'
                                  },
                                  'redactedContent': b'bytes'
                              },
                              'traceId': 'string'
                          },
                          'observation': {
                              'actionGroupInvocationOutput': {
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'text': 'string'
                              },
                              'agentCollaboratorInvocationOutput': {
                                  'agentCollaboratorAliasArn': 'string',
                                  'agentCollaboratorName': 'string',
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'output': {
                                      'returnControlPayload': {
                                          'invocationId': 'string',
                                          'invocationInputs': [
                                              {
                                                  'apiInvocationInput': {
                                                      'actionGroup': 'string',
                                                      'actionInvocationType': 'RESULT'|'USER_CONFIRMATION'|'USER_CONFIRMATION_AND_RESULT',
                                                      'agentId': 'string',
                                                      'apiPath': 'string',
                                                      'collaboratorName': 'string',
                                                      'httpMethod': 'string',
                                                      'parameters': [
                                                          {
                                                              'name': 'string',
                                                              'type': 'string',
                                                              'value': 'string'
                                                          },
                                                      ],
                                                      'requestBody': {
                                                          'content': {
                                                              'string': {
                                                                  'properties': [
                                                                      {
                                                                          'name': 'string',
                                                                          'type': 'string',
                                                                          'value': 'string'
                                                                      },
                                                                  ]
                                                              }
                                                          }
                                                      }
                                                  },
                                                  'functionInvocationInput': {
                                                      'actionGroup': 'string',
                                                      'actionInvocationType': 'RESULT'|'USER_CONFIRMATION'|'USER_CONFIRMATION_AND_RESULT',
                                                      'agentId': 'string',
                                                      'collaboratorName': 'string',
                                                      'function': 'string',
                                                      'parameters': [
                                                          {
                                                              'name': 'string',
                                                              'type': 'string',
                                                              'value': 'string'
                                                          },
                                                      ]
                                                  }
                                              },
                                          ]
                                      },
                                      'text': 'string',
                                      'type': 'TEXT'|'RETURN_CONTROL'
                                  }
                              },
                              'codeInterpreterInvocationOutput': {
                                  'executionError': 'string',
                                  'executionOutput': 'string',
                                  'executionTimeout': True|False,
                                  'files': [
                                      'string',
                                  ],
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  }
                              },
                              'finalResponse': {
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'text': 'string'
                              },
                              'knowledgeBaseLookupOutput': {
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'retrievedReferences': [
                                      {
                                          'content': {
                                              'audio': {
                                                  's3Uri': 'string',
                                                  'transcription': 'string'
                                              },
                                              'byteContent': 'string',
                                              'row': [
                                                  {
                                                      'columnName': 'string',
                                                      'columnValue': 'string',
                                                      'type': 'BLOB'|'BOOLEAN'|'DOUBLE'|'NULL'|'LONG'|'STRING'
                                                  },
                                              ],
                                              'text': 'string',
                                              'type': 'TEXT'|'IMAGE'|'ROW'|'AUDIO'|'VIDEO',
                                              'video': {
                                                  's3Uri': 'string',
                                                  'summary': 'string'
                                              }
                                          },
                                          'location': {
                                              'confluenceLocation': {
                                                  'url': 'string'
                                              },
                                              'customDocumentLocation': {
                                                  'id': 'string'
                                              },
                                              'kendraDocumentLocation': {
                                                  'uri': 'string'
                                              },
                                              's3Location': {
                                                  'uri': 'string'
                                              },
                                              'salesforceLocation': {
                                                  'url': 'string'
                                              },
                                              'sharePointLocation': {
                                                  'url': 'string'
                                              },
                                              'sqlLocation': {
                                                  'query': 'string'
                                              },
                                              'type': 'S3'|'WEB'|'CONFLUENCE'|'SALESFORCE'|'SHAREPOINT'|'CUSTOM'|'KENDRA'|'SQL',
                                              'webLocation': {
                                                  'url': 'string'
                                              }
                                          },
                                          'metadata': {
                                              'string': {...}|[...]|123|123.4|'string'|True|None
                                          }
                                      },
                                  ]
                              },
                              'repromptResponse': {
                                  'source': 'ACTION_GROUP'|'KNOWLEDGE_BASE'|'PARSER',
                                  'text': 'string'
                              },
                              'traceId': 'string',
                              'type': 'ACTION_GROUP'|'AGENT_COLLABORATOR'|'KNOWLEDGE_BASE'|'FINISH'|'ASK_USER'|'REPROMPT'
                          },
                          'rationale': {
                              'text': 'string',
                              'traceId': 'string'
                          }
                      },
                      'postProcessingTrace': {
                          'modelInvocationInput': {
                              'foundationModel': 'string',
                              'inferenceConfiguration': {
                                  'maximumLength': 123,
                                  'stopSequences': [
                                      'string',
                                  ],
                                  'temperature': ...,
                                  'topK': 123,
                                  'topP': ...
                              },
                              'overrideLambda': 'string',
                              'parserMode': 'DEFAULT'|'OVERRIDDEN',
                              'promptCreationMode': 'DEFAULT'|'OVERRIDDEN',
                              'text': 'string',
                              'traceId': 'string',
                              'type': 'PRE_PROCESSING'|'ORCHESTRATION'|'KNOWLEDGE_BASE_RESPONSE_GENERATION'|'POST_PROCESSING'|'ROUTING_CLASSIFIER'
                          },
                          'modelInvocationOutput': {
                              'metadata': {
                                  'clientRequestId': 'string',
                                  'endTime': datetime(2015, 1, 1),
                                  'operationTotalTimeMs': 123,
                                  'startTime': datetime(2015, 1, 1),
                                  'totalTimeMs': 123,
                                  'usage': {
                                      'inputTokens': 123,
                                      'outputTokens': 123
                                  }
                              },
                              'parsedResponse': {
                                  'text': 'string'
                              },
                              'rawResponse': {
                                  'content': 'string'
                              },
                              'reasoningContent': {
                                  'reasoningText': {
                                      'signature': 'string',
                                      'text': 'string'
                                  },
                                  'redactedContent': b'bytes'
                              },
                              'traceId': 'string'
                          }
                      },
                      'preProcessingTrace': {
                          'modelInvocationInput': {
                              'foundationModel': 'string',
                              'inferenceConfiguration': {
                                  'maximumLength': 123,
                                  'stopSequences': [
                                      'string',
                                  ],
                                  'temperature': ...,
                                  'topK': 123,
                                  'topP': ...
                              },
                              'overrideLambda': 'string',
                              'parserMode': 'DEFAULT'|'OVERRIDDEN',
                              'promptCreationMode': 'DEFAULT'|'OVERRIDDEN',
                              'text': 'string',
                              'traceId': 'string',
                              'type': 'PRE_PROCESSING'|'ORCHESTRATION'|'KNOWLEDGE_BASE_RESPONSE_GENERATION'|'POST_PROCESSING'|'ROUTING_CLASSIFIER'
                          },
                          'modelInvocationOutput': {
                              'metadata': {
                                  'clientRequestId': 'string',
                                  'endTime': datetime(2015, 1, 1),
                                  'operationTotalTimeMs': 123,
                                  'startTime': datetime(2015, 1, 1),
                                  'totalTimeMs': 123,
                                  'usage': {
                                      'inputTokens': 123,
                                      'outputTokens': 123
                                  }
                              },
                              'parsedResponse': {
                                  'isValid': True|False,
                                  'rationale': 'string'
                              },
                              'rawResponse': {
                                  'content': 'string'
                              },
                              'reasoningContent': {
                                  'reasoningText': {
                                      'signature': 'string',
                                      'text': 'string'
                                  },
                                  'redactedContent': b'bytes'
                              },
                              'traceId': 'string'
                          }
                      },
                      'routingClassifierTrace': {
                          'invocationInput': {
                              'actionGroupInvocationInput': {
                                  'actionGroupName': 'string',
                                  'apiPath': 'string',
                                  'executionType': 'LAMBDA'|'RETURN_CONTROL',
                                  'function': 'string',
                                  'invocationId': 'string',
                                  'parameters': [
                                      {
                                          'name': 'string',
                                          'type': 'string',
                                          'value': 'string'
                                      },
                                  ],
                                  'requestBody': {
                                      'content': {
                                          'string': [
                                              {
                                                  'name': 'string',
                                                  'type': 'string',
                                                  'value': 'string'
                                              },
                                          ]
                                      }
                                  },
                                  'verb': 'string'
                              },
                              'agentCollaboratorInvocationInput': {
                                  'agentCollaboratorAliasArn': 'string',
                                  'agentCollaboratorName': 'string',
                                  'input': {
                                      'returnControlResults': {
                                          'invocationId': 'string',
                                          'returnControlInvocationResults': [
                                              {
                                                  'apiResult': {
                                                      'actionGroup': 'string',
                                                      'agentId': 'string',
                                                      'apiPath': 'string',
                                                      'confirmationState': 'CONFIRM'|'DENY',
                                                      'httpMethod': 'string',
                                                      'httpStatusCode': 123,
                                                      'responseBody': {
                                                          'string': {
                                                              'body': 'string',
                                                              'images': [
                                                                  {
                                                                      'format': 'png'|'jpeg'|'gif'|'webp',
                                                                      'source': {
                                                                          'bytes': b'bytes'
                                                                      }
                                                                  },
                                                              ]
                                                          }
                                                      },
                                                      'responseState': 'FAILURE'|'REPROMPT'
                                                  },
                                                  'functionResult': {
                                                      'actionGroup': 'string',
                                                      'agentId': 'string',
                                                      'confirmationState': 'CONFIRM'|'DENY',
                                                      'function': 'string',
                                                      'responseBody': {
                                                          'string': {
                                                              'body': 'string',
                                                              'images': [
                                                                  {
                                                                      'format': 'png'|'jpeg'|'gif'|'webp',
                                                                      'source': {
                                                                          'bytes': b'bytes'
                                                                      }
                                                                  },
                                                              ]
                                                          }
                                                      },
                                                      'responseState': 'FAILURE'|'REPROMPT'
                                                  }
                                              },
                                          ]
                                      },
                                      'text': 'string',
                                      'type': 'TEXT'|'RETURN_CONTROL'
                                  }
                              },
                              'codeInterpreterInvocationInput': {
                                  'code': 'string',
                                  'files': [
                                      'string',
                                  ]
                              },
                              'invocationType': 'ACTION_GROUP'|'KNOWLEDGE_BASE'|'FINISH'|'ACTION_GROUP_CODE_INTERPRETER'|'AGENT_COLLABORATOR',
                              'knowledgeBaseLookupInput': {
                                  'knowledgeBaseId': 'string',
                                  'text': 'string'
                              },
                              'traceId': 'string'
                          },
                          'modelInvocationInput': {
                              'foundationModel': 'string',
                              'inferenceConfiguration': {
                                  'maximumLength': 123,
                                  'stopSequences': [
                                      'string',
                                  ],
                                  'temperature': ...,
                                  'topK': 123,
                                  'topP': ...
                              },
                              'overrideLambda': 'string',
                              'parserMode': 'DEFAULT'|'OVERRIDDEN',
                              'promptCreationMode': 'DEFAULT'|'OVERRIDDEN',
                              'text': 'string',
                              'traceId': 'string',
                              'type': 'PRE_PROCESSING'|'ORCHESTRATION'|'KNOWLEDGE_BASE_RESPONSE_GENERATION'|'POST_PROCESSING'|'ROUTING_CLASSIFIER'
                          },
                          'modelInvocationOutput': {
                              'metadata': {
                                  'clientRequestId': 'string',
                                  'endTime': datetime(2015, 1, 1),
                                  'operationTotalTimeMs': 123,
                                  'startTime': datetime(2015, 1, 1),
                                  'totalTimeMs': 123,
                                  'usage': {
                                      'inputTokens': 123,
                                      'outputTokens': 123
                                  }
                              },
                              'rawResponse': {
                                  'content': 'string'
                              },
                              'traceId': 'string'
                          },
                          'observation': {
                              'actionGroupInvocationOutput': {
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'text': 'string'
                              },
                              'agentCollaboratorInvocationOutput': {
                                  'agentCollaboratorAliasArn': 'string',
                                  'agentCollaboratorName': 'string',
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'output': {
                                      'returnControlPayload': {
                                          'invocationId': 'string',
                                          'invocationInputs': [
                                              {
                                                  'apiInvocationInput': {
                                                      'actionGroup': 'string',
                                                      'actionInvocationType': 'RESULT'|'USER_CONFIRMATION'|'USER_CONFIRMATION_AND_RESULT',
                                                      'agentId': 'string',
                                                      'apiPath': 'string',
                                                      'collaboratorName': 'string',
                                                      'httpMethod': 'string',
                                                      'parameters': [
                                                          {
                                                              'name': 'string',
                                                              'type': 'string',
                                                              'value': 'string'
                                                          },
                                                      ],
                                                      'requestBody': {
                                                          'content': {
                                                              'string': {
                                                                  'properties': [
                                                                      {
                                                                          'name': 'string',
                                                                          'type': 'string',
                                                                          'value': 'string'
                                                                      },
                                                                  ]
                                                              }
                                                          }
                                                      }
                                                  },
                                                  'functionInvocationInput': {
                                                      'actionGroup': 'string',
                                                      'actionInvocationType': 'RESULT'|'USER_CONFIRMATION'|'USER_CONFIRMATION_AND_RESULT',
                                                      'agentId': 'string',
                                                      'collaboratorName': 'string',
                                                      'function': 'string',
                                                      'parameters': [
                                                          {
                                                              'name': 'string',
                                                              'type': 'string',
                                                              'value': 'string'
                                                          },
                                                      ]
                                                  }
                                              },
                                          ]
                                      },
                                      'text': 'string',
                                      'type': 'TEXT'|'RETURN_CONTROL'
                                  }
                              },
                              'codeInterpreterInvocationOutput': {
                                  'executionError': 'string',
                                  'executionOutput': 'string',
                                  'executionTimeout': True|False,
                                  'files': [
                                      'string',
                                  ],
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  }
                              },
                              'finalResponse': {
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'text': 'string'
                              },
                              'knowledgeBaseLookupOutput': {
                                  'metadata': {
                                      'clientRequestId': 'string',
                                      'endTime': datetime(2015, 1, 1),
                                      'operationTotalTimeMs': 123,
                                      'startTime': datetime(2015, 1, 1),
                                      'totalTimeMs': 123,
                                      'usage': {
                                          'inputTokens': 123,
                                          'outputTokens': 123
                                      }
                                  },
                                  'retrievedReferences': [
                                      {
                                          'content': {
                                              'audio': {
                                                  's3Uri': 'string',
                                                  'transcription': 'string'
                                              },
                                              'byteContent': 'string',
                                              'row': [
                                                  {
                                                      'columnName': 'string',
                                                      'columnValue': 'string',
                                                      'type': 'BLOB'|'BOOLEAN'|'DOUBLE'|'NULL'|'LONG'|'STRING'
                                                  },
                                              ],
                                              'text': 'string',
                                              'type': 'TEXT'|'IMAGE'|'ROW'|'AUDIO'|'VIDEO',
                                              'video': {
                                                  's3Uri': 'string',
                                                  'summary': 'string'
                                              }
                                          },
                                          'location': {
                                              'confluenceLocation': {
                                                  'url': 'string'
                                              },
                                              'customDocumentLocation': {
                                                  'id': 'string'
                                              },
                                              'kendraDocumentLocation': {
                                                  'uri': 'string'
                                              },
                                              's3Location': {
                                                  'uri': 'string'
                                              },
                                              'salesforceLocation': {
                                                  'url': 'string'
                                              },
                                              'sharePointLocation': {
                                                  'url': 'string'
                                              },
                                              'sqlLocation': {
                                                  'query': 'string'
                                              },
                                              'type': 'S3'|'WEB'|'CONFLUENCE'|'SALESFORCE'|'SHAREPOINT'|'CUSTOM'|'KENDRA'|'SQL',
                                              'webLocation': {
                                                  'url': 'string'
                                              }
                                          },
                                          'metadata': {
                                              'string': {...}|[...]|123|123.4|'string'|True|None
                                          }
                                      },
                                  ]
                              },
                              'repromptResponse': {
                                  'source': 'ACTION_GROUP'|'KNOWLEDGE_BASE'|'PARSER',
                                  'text': 'string'
                              },
                              'traceId': 'string',
                              'type': 'ACTION_GROUP'|'AGENT_COLLABORATOR'|'KNOWLEDGE_BASE'|'FINISH'|'ASK_USER'|'REPROMPT'
                          }
                      }
                  }
              },
              'validationException': {
                  'message': 'string'
              }
          }),
          'contentType': 'string',
          'memoryId': 'string',
          'sessionId': 'string'
      }
      

    **Response Structure**
    ::

        # This section is too large to render.
        # Please see the AWS API Documentation linked below.

    `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeAgent>`_


    
  **Exceptions**
  
  *   :py:class:`AgentsforBedrockRuntime.Client.exceptions.ModelNotReadyException`

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

  
  *   :py:class:`AgentsforBedrockRuntime.Client.exceptions.ConflictException`

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

  
  *   :py:class:`AgentsforBedrockRuntime.Client.exceptions.InternalServerException`

  
  *   :py:class:`AgentsforBedrockRuntime.Client.exceptions.DependencyFailedException`

  
  *   :py:class:`AgentsforBedrockRuntime.Client.exceptions.BadGatewayException`

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

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

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

  