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

****************************
retrieve_and_generate_stream
****************************



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

  

  Queries a knowledge base and generates responses based on the retrieved results, with output in streaming format.

   

  .. note::

    

    The CLI doesn't support streaming operations in Amazon Bedrock, including ``InvokeModelWithResponseStream``.

    

   

  This operation requires permission for the ``bedrock:RetrieveAndGenerate`` action.

  

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


  **Request Syntax**
  ::

    response = client.retrieve_and_generate_stream(
        input={
            'text': 'string'
        },
        retrieveAndGenerateConfiguration={
            'externalSourcesConfiguration': {
                'generationConfiguration': {
                    'additionalModelRequestFields': {
                        'string': {...}|[...]|123|123.4|'string'|True|None
                    },
                    'guardrailConfiguration': {
                        'guardrailId': 'string',
                        'guardrailVersion': 'string'
                    },
                    'inferenceConfig': {
                        'textInferenceConfig': {
                            'maxTokens': 123,
                            'stopSequences': [
                                'string',
                            ],
                            'temperature': ...,
                            'topP': ...
                        }
                    },
                    'performanceConfig': {
                        'latency': 'standard'|'optimized'
                    },
                    'promptTemplate': {
                        'textPromptTemplate': 'string'
                    }
                },
                'modelArn': 'string',
                'sources': [
                    {
                        'byteContent': {
                            'contentType': 'string',
                            'data': b'bytes',
                            'identifier': 'string'
                        },
                        's3Location': {
                            'uri': 'string'
                        },
                        'sourceType': 'S3'|'BYTE_CONTENT'
                    },
                ]
            },
            'knowledgeBaseConfiguration': {
                'generationConfiguration': {
                    'additionalModelRequestFields': {
                        'string': {...}|[...]|123|123.4|'string'|True|None
                    },
                    'guardrailConfiguration': {
                        'guardrailId': 'string',
                        'guardrailVersion': 'string'
                    },
                    'inferenceConfig': {
                        'textInferenceConfig': {
                            'maxTokens': 123,
                            'stopSequences': [
                                'string',
                            ],
                            'temperature': ...,
                            'topP': ...
                        }
                    },
                    'performanceConfig': {
                        'latency': 'standard'|'optimized'
                    },
                    'promptTemplate': {
                        'textPromptTemplate': 'string'
                    }
                },
                'knowledgeBaseId': 'string',
                'modelArn': 'string',
                'orchestrationConfiguration': {
                    'additionalModelRequestFields': {
                        'string': {...}|[...]|123|123.4|'string'|True|None
                    },
                    'inferenceConfig': {
                        'textInferenceConfig': {
                            'maxTokens': 123,
                            'stopSequences': [
                                'string',
                            ],
                            'temperature': ...,
                            'topP': ...
                        }
                    },
                    'performanceConfig': {
                        'latency': 'standard'|'optimized'
                    },
                    'promptTemplate': {
                        'textPromptTemplate': 'string'
                    },
                    'queryTransformationConfiguration': {
                        'type': 'QUERY_DECOMPOSITION'
                    }
                },
                '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'
                        }
                    }
                }
            },
            'type': 'KNOWLEDGE_BASE'|'EXTERNAL_SOURCES'
        },
        sessionConfiguration={
            'kmsKeyArn': 'string'
        },
        sessionId='string'
    )
    
  :type input: dict
  :param input: **[REQUIRED]** 

    Contains the query to be made to the knowledge base.

    

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

      The query made to the knowledge base, in characters.

      

    
  
  :type retrieveAndGenerateConfiguration: dict
  :param retrieveAndGenerateConfiguration: 

    Contains configurations for the knowledge base query and retrieval process. For more information, see `Query configurations <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html>`__.

    

  
    - **externalSourcesConfiguration** *(dict) --* 

      The configuration for the external source wrapper object in the ``retrieveAndGenerate`` function.

      

    
      - **generationConfiguration** *(dict) --* 

        The prompt used with the external source wrapper object with the ``retrieveAndGenerate`` function.

        

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

          Additional model parameters and their corresponding values not included in the textInferenceConfig structure for an external source. Takes in custom model parameters specific to the language model being used.

          

        
          - *(string) --* 

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

            
      
    
        - **guardrailConfiguration** *(dict) --* 

          The configuration details for the guardrail.

          

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

            The unique identifier for the guardrail.

            

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

            The version of the guardrail.

            

          
        
        - **inferenceConfig** *(dict) --* 

          Configuration settings for inference when using RetrieveAndGenerate to generate responses while using an external source.

          

        
          - **textInferenceConfig** *(dict) --* 

            Configuration settings specific to text generation while generating responses using RetrieveAndGenerate.

            

          
            - **maxTokens** *(integer) --* 

              The maximum number of tokens to generate in the output text. Do not use the minimum of 0 or the maximum of 65536. The limit values described here are arbitary values, for actual values consult the limits defined by your specific model.

              

            
            - **stopSequences** *(list) --* 

              A list of sequences of characters that, if generated, will cause the model to stop generating further tokens. Do not use a minimum length of 1 or a maximum length of 1000. The limit values described here are arbitary values, for actual values consult the limits defined by your specific model.

              

            
              - *(string) --* 

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

              Controls the random-ness of text generated by the language model, influencing how much the model sticks to the most predictable next words versus exploring more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model outputs more deterministic or predictable, while a higher temperature (e.g. 0.8 or 0.9) makes the outputs more creative or unpredictable.

              

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

              A probability distribution threshold which controls what the model considers for the set of possible next tokens. The model will only consider the top p% of the probability distribution when generating the next token.

              

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

          The latency configuration for the model.

          

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

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

            

          
        
        - **promptTemplate** *(dict) --* 

          Contain the textPromptTemplate string for the external source wrapper object.

          

        
          - **textPromptTemplate** *(string) --* 

            The template for the prompt that's sent to the model for response generation. You can include prompt placeholders, which become replaced before the prompt is sent to the model to provide instructions and context to the model. In addition, you can include XML tags to delineate meaningful sections of the prompt template.

             

            For more information, see the following resources:

             

            
            * `Knowledge base prompt templates <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt>`__
             
            * `Use XML tags with Anthropic Claude models <https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags>`__
            

            

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

        The model Amazon Resource Name (ARN) for the external source wrapper object in the ``retrieveAndGenerate`` function.

        

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

        The document for the external source wrapper object in the ``retrieveAndGenerate`` function.

        

      
        - *(dict) --* 

          The unique external source of the content contained in the wrapper object.

          

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

            The identifier, contentType, and data of the external source wrapper object.

            

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

              The MIME type of the document contained in the wrapper object.

              

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

              The byte value of the file to upload, encoded as a Base-64 string.

              

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

              The file name of the document contained in the wrapper object.

              

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

            The S3 location of the external source wrapper object.

            

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

              The file location of the S3 wrapper object.

              

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

            The source type of the external source wrapper object.

            

          
        
    
    
    - **knowledgeBaseConfiguration** *(dict) --* 

      Contains details about the knowledge base for retrieving information and generating responses.

      

    
      - **generationConfiguration** *(dict) --* 

        Contains configurations for response generation based on the knowledge base query results.

        

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

          Additional model parameters and corresponding values not included in the textInferenceConfig structure for a knowledge base. This allows users to provide custom model parameters specific to the language model being used.

          

        
          - *(string) --* 

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

            
      
    
        - **guardrailConfiguration** *(dict) --* 

          The configuration details for the guardrail.

          

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

            The unique identifier for the guardrail.

            

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

            The version of the guardrail.

            

          
        
        - **inferenceConfig** *(dict) --* 

          Configuration settings for inference when using RetrieveAndGenerate to generate responses while using a knowledge base as a source.

          

        
          - **textInferenceConfig** *(dict) --* 

            Configuration settings specific to text generation while generating responses using RetrieveAndGenerate.

            

          
            - **maxTokens** *(integer) --* 

              The maximum number of tokens to generate in the output text. Do not use the minimum of 0 or the maximum of 65536. The limit values described here are arbitary values, for actual values consult the limits defined by your specific model.

              

            
            - **stopSequences** *(list) --* 

              A list of sequences of characters that, if generated, will cause the model to stop generating further tokens. Do not use a minimum length of 1 or a maximum length of 1000. The limit values described here are arbitary values, for actual values consult the limits defined by your specific model.

              

            
              - *(string) --* 

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

              Controls the random-ness of text generated by the language model, influencing how much the model sticks to the most predictable next words versus exploring more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model outputs more deterministic or predictable, while a higher temperature (e.g. 0.8 or 0.9) makes the outputs more creative or unpredictable.

              

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

              A probability distribution threshold which controls what the model considers for the set of possible next tokens. The model will only consider the top p% of the probability distribution when generating the next token.

              

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

          The latency configuration for the model.

          

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

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

            

          
        
        - **promptTemplate** *(dict) --* 

          Contains the template for the prompt that's sent to the model for response generation. Generation prompts must include the ``$search_results$`` variable. For more information, see `Use placeholder variables <https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html>`__ in the user guide.

          

        
          - **textPromptTemplate** *(string) --* 

            The template for the prompt that's sent to the model for response generation. You can include prompt placeholders, which become replaced before the prompt is sent to the model to provide instructions and context to the model. In addition, you can include XML tags to delineate meaningful sections of the prompt template.

             

            For more information, see the following resources:

             

            
            * `Knowledge base prompt templates <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt>`__
             
            * `Use XML tags with Anthropic Claude models <https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags>`__
            

            

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

        The unique identifier of the knowledge base that is queried.

        

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

        The ARN of the foundation model or `inference profile <https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html>`__ used to generate a response.

        

      
      - **orchestrationConfiguration** *(dict) --* 

        Settings for how the model processes the prompt prior to retrieval and generation.

        

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

          Additional model parameters and corresponding values not included in the textInferenceConfig structure for a knowledge base. This allows users to provide custom model parameters specific to the language model being used.

          

        
          - *(string) --* 

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

            
      
    
        - **inferenceConfig** *(dict) --* 

          Configuration settings for inference when using RetrieveAndGenerate to generate responses while using a knowledge base as a source.

          

        
          - **textInferenceConfig** *(dict) --* 

            Configuration settings specific to text generation while generating responses using RetrieveAndGenerate.

            

          
            - **maxTokens** *(integer) --* 

              The maximum number of tokens to generate in the output text. Do not use the minimum of 0 or the maximum of 65536. The limit values described here are arbitary values, for actual values consult the limits defined by your specific model.

              

            
            - **stopSequences** *(list) --* 

              A list of sequences of characters that, if generated, will cause the model to stop generating further tokens. Do not use a minimum length of 1 or a maximum length of 1000. The limit values described here are arbitary values, for actual values consult the limits defined by your specific model.

              

            
              - *(string) --* 

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

              Controls the random-ness of text generated by the language model, influencing how much the model sticks to the most predictable next words versus exploring more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model outputs more deterministic or predictable, while a higher temperature (e.g. 0.8 or 0.9) makes the outputs more creative or unpredictable.

              

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

              A probability distribution threshold which controls what the model considers for the set of possible next tokens. The model will only consider the top p% of the probability distribution when generating the next token.

              

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

          The latency configuration for the model.

          

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

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

            

          
        
        - **promptTemplate** *(dict) --* 

          Contains the template for the prompt that's sent to the model. Orchestration prompts must include the ``$conversation_history$`` and ``$output_format_instructions$`` variables. For more information, see `Use placeholder variables <https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html>`__ in the user guide.

          

        
          - **textPromptTemplate** *(string) --* 

            The template for the prompt that's sent to the model for response generation. You can include prompt placeholders, which become replaced before the prompt is sent to the model to provide instructions and context to the model. In addition, you can include XML tags to delineate meaningful sections of the prompt template.

             

            For more information, see the following resources:

             

            
            * `Knowledge base prompt templates <https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt>`__
             
            * `Use XML tags with Anthropic Claude models <https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags>`__
            

            

          
        
        - **queryTransformationConfiguration** *(dict) --* 

          To split up the prompt and retrieve multiple sources, set the transformation type to ``QUERY_DECOMPOSITION``.

          

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

            The type of transformation to apply to the prompt.

            

          
        
      
      - **retrievalConfiguration** *(dict) --* 

        Contains configurations for how to retrieve and return the knowledge base query.

        

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

              

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

      The type of resource that contains your data for retrieving information and generating responses.

       

      .. note::

        

        If you choose to use ``EXTERNAL_SOURCES``, then currently only Anthropic Claude 3 Sonnet models for knowledge bases are supported.

        

      

    
  
  :type sessionConfiguration: dict
  :param sessionConfiguration: 

    Contains details about the session with the knowledge base.

    

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

      The ARN of the KMS key encrypting the session.

      

    
  
  :type sessionId: string
  :param sessionId: 

    The unique identifier of the session. When you first make a ``RetrieveAndGenerate`` request, Amazon Bedrock automatically generates this value. You must reuse this value for all subsequent requests in the same conversational session. This value allows Amazon Bedrock to maintain context and knowledge from previous interactions. You can't explicitly set the ``sessionId`` yourself.

    

  
  
  :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**

    
    ::

      {
          'sessionId': 'string',
          'stream': EventStream({
              'accessDeniedException': {
                  'message': 'string'
              },
              'badGatewayException': {
                  'message': 'string',
                  'resourceName': 'string'
              },
              'citation': {
                  'citation': {
                      '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
                              }
                          },
                      ]
                  },
                  '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
                          }
                      },
                  ]
              },
              'conflictException': {
                  'message': 'string'
              },
              'dependencyFailedException': {
                  'message': 'string',
                  'resourceName': 'string'
              },
              'guardrail': {
                  'action': 'INTERVENED'|'NONE'
              },
              'internalServerException': {
                  'message': 'string',
                  'reason': 'string'
              },
              'output': {
                  'text': 'string'
              },
              'resourceNotFoundException': {
                  'message': 'string'
              },
              'serviceQuotaExceededException': {
                  'message': 'string'
              },
              'throttlingException': {
                  'message': 'string'
              },
              'validationException': {
                  'message': 'string'
              }
          })
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **sessionId** *(string) --* 

        The session ID.

        
      

      - **stream** (:class:`.EventStream`) -- 

        A stream of events from the model.

        
        

        - **accessDeniedException** *(dict) --* 

          The request is denied because you do not have sufficient permissions to perform the requested action. For troubleshooting this error, see `AccessDeniedException <https://docs.aws.amazon.com/bedrock/latest/userguide/troubleshooting-api-error-codes.html#ts-access-denied>`__ in the Amazon Bedrock User Guide.

          
          

          - **message** *(string) --* 
      
        

        - **badGatewayException** *(dict) --* 

          The request failed due to a bad gateway error.

          
          

          - **message** *(string) --* 
          

          - **resourceName** *(string) --* 

            The name of the dependency that caused the issue, such as Amazon Bedrock, Lambda, or STS.

            
      
        

        - **citation** *(dict) --* 

          A citation event.

          
          

          - **citation** *(dict) --* 

            The citation.

            
            

            - **generatedResponsePart** *(dict) --* 

              Contains the generated response and metadata

              
              

              - **textResponsePart** *(dict) --* 

                Contains metadata about a textual part of the generated response that is accompanied by a citation.

                
                

                - **span** *(dict) --* 

                  Contains information about where the text with a citation begins and ends in the generated output.

                  
                  

                  - **end** *(integer) --* 

                    Where the text with a citation ends in the generated output.

                    
                  

                  - **start** *(integer) --* 

                    Where the text with a citation starts in the generated output.

                    
              
                

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

                  The part of the generated text that contains a citation.

                  
            
          
            

            - **retrievedReferences** *(list) --* 

              Contains metadata about the sources cited for the generated response.

              
              

              - *(dict) --* 

                Contains metadata about a source cited for the generated response.

                 

                This data type is used in the following API operations:

                 

                
                * `RetrieveAndGenerate response <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax>`__ – in the ``retrievedReferences`` field
                 
                * `InvokeAgent response <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax>`__ – in the ``retrievedReferences`` field
                

                
                

                - **content** *(dict) --* 

                  Contains the cited text from the data source.

                  
                  

                  - **audio** *(dict) --* 

                    Audio segment information when the retrieval result contains audio content.

                    
                    

                    - **s3Uri** *(string) --* 

                      The S3 URI where this specific audio segment is stored in the multimodal storage destination.

                      
                    

                    - **transcription** *(string) --* 

                      The text transcription of the audio segment content.

                      
                
                  

                  - **byteContent** *(string) --* 

                    A data URI with base64-encoded content from the data source. The URI is in the following format: returned in the following format: ``data:image/jpeg;base64,${base64-encoded string}``.

                    
                  

                  - **row** *(list) --* 

                    Specifies information about the rows with the cells to return in retrieval.

                    
                    

                    - *(dict) --* 

                      Contains information about a column with a cell to return in retrieval.

                      
                      

                      - **columnName** *(string) --* 

                        The name of the column.

                        
                      

                      - **columnValue** *(string) --* 

                        The value in the column.

                        
                      

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

                        The data type of the value.

                        
                  
                
                  

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

                    The cited text from the data source.

                    
                  

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

                    The type of content in the retrieval result.

                    
                  

                  - **video** *(dict) --* 

                    Video segment information when the retrieval result contains video content.

                    
                    

                    - **s3Uri** *(string) --* 

                      The S3 URI where this specific video segment is stored in the multimodal storage destination.

                      
                    

                    - **summary** *(string) --* 

                      A text summary describing the content of the video segment.

                      
                
              
                

                - **location** *(dict) --* 

                  Contains information about the location of the data source.

                  
                  

                  - **confluenceLocation** *(dict) --* 

                    The Confluence data source location.

                    
                    

                    - **url** *(string) --* 

                      The Confluence host URL for the data source location.

                      
                
                  

                  - **customDocumentLocation** *(dict) --* 

                    Specifies the location of a document in a custom data source.

                    
                    

                    - **id** *(string) --* 

                      The ID of the document.

                      
                
                  

                  - **kendraDocumentLocation** *(dict) --* 

                    The location of a document in Amazon Kendra.

                    
                    

                    - **uri** *(string) --* 

                      The document's uri.

                      
                
                  

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

                    The S3 data source location.

                    
                    

                    - **uri** *(string) --* 

                      The S3 URI for the data source location.

                      
                
                  

                  - **salesforceLocation** *(dict) --* 

                    The Salesforce data source location.

                    
                    

                    - **url** *(string) --* 

                      The Salesforce host URL for the data source location.

                      
                
                  

                  - **sharePointLocation** *(dict) --* 

                    The SharePoint data source location.

                    
                    

                    - **url** *(string) --* 

                      The SharePoint site URL for the data source location.

                      
                
                  

                  - **sqlLocation** *(dict) --* 

                    Specifies information about the SQL query used to retrieve the result.

                    
                    

                    - **query** *(string) --* 

                      The SQL query used to retrieve the result.

                      
                
                  

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

                    The type of data source location.

                    
                  

                  - **webLocation** *(dict) --* 

                    The web URL/URLs data source location.

                    
                    

                    - **url** *(string) --* 

                      The web URL/URLs for the data source location.

                      
                
              
                

                - **metadata** *(dict) --* 

                  Contains metadata attributes and their values for the file in the data source. For more information, see `Metadata and filtering <https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-metadata>`__.

                  
                  

                  - *(string) --* 
                    

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

          - **generatedResponsePart** *(dict) --* 

            The generated response to the citation event.

            
            

            - **textResponsePart** *(dict) --* 

              Contains metadata about a textual part of the generated response that is accompanied by a citation.

              
              

              - **span** *(dict) --* 

                Contains information about where the text with a citation begins and ends in the generated output.

                
                

                - **end** *(integer) --* 

                  Where the text with a citation ends in the generated output.

                  
                

                - **start** *(integer) --* 

                  Where the text with a citation starts in the generated output.

                  
            
              

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

                The part of the generated text that contains a citation.

                
          
        
          

          - **retrievedReferences** *(list) --* 

            The retrieved references of the citation event.

            
            

            - *(dict) --* 

              Contains metadata about a source cited for the generated response.

               

              This data type is used in the following API operations:

               

              
              * `RetrieveAndGenerate response <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax>`__ – in the ``retrievedReferences`` field
               
              * `InvokeAgent response <https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax>`__ – in the ``retrievedReferences`` field
              

              
              

              - **content** *(dict) --* 

                Contains the cited text from the data source.

                
                

                - **audio** *(dict) --* 

                  Audio segment information when the retrieval result contains audio content.

                  
                  

                  - **s3Uri** *(string) --* 

                    The S3 URI where this specific audio segment is stored in the multimodal storage destination.

                    
                  

                  - **transcription** *(string) --* 

                    The text transcription of the audio segment content.

                    
              
                

                - **byteContent** *(string) --* 

                  A data URI with base64-encoded content from the data source. The URI is in the following format: returned in the following format: ``data:image/jpeg;base64,${base64-encoded string}``.

                  
                

                - **row** *(list) --* 

                  Specifies information about the rows with the cells to return in retrieval.

                  
                  

                  - *(dict) --* 

                    Contains information about a column with a cell to return in retrieval.

                    
                    

                    - **columnName** *(string) --* 

                      The name of the column.

                      
                    

                    - **columnValue** *(string) --* 

                      The value in the column.

                      
                    

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

                      The data type of the value.

                      
                
              
                

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

                  The cited text from the data source.

                  
                

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

                  The type of content in the retrieval result.

                  
                

                - **video** *(dict) --* 

                  Video segment information when the retrieval result contains video content.

                  
                  

                  - **s3Uri** *(string) --* 

                    The S3 URI where this specific video segment is stored in the multimodal storage destination.

                    
                  

                  - **summary** *(string) --* 

                    A text summary describing the content of the video segment.

                    
              
            
              

              - **location** *(dict) --* 

                Contains information about the location of the data source.

                
                

                - **confluenceLocation** *(dict) --* 

                  The Confluence data source location.

                  
                  

                  - **url** *(string) --* 

                    The Confluence host URL for the data source location.

                    
              
                

                - **customDocumentLocation** *(dict) --* 

                  Specifies the location of a document in a custom data source.

                  
                  

                  - **id** *(string) --* 

                    The ID of the document.

                    
              
                

                - **kendraDocumentLocation** *(dict) --* 

                  The location of a document in Amazon Kendra.

                  
                  

                  - **uri** *(string) --* 

                    The document's uri.

                    
              
                

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

                  The S3 data source location.

                  
                  

                  - **uri** *(string) --* 

                    The S3 URI for the data source location.

                    
              
                

                - **salesforceLocation** *(dict) --* 

                  The Salesforce data source location.

                  
                  

                  - **url** *(string) --* 

                    The Salesforce host URL for the data source location.

                    
              
                

                - **sharePointLocation** *(dict) --* 

                  The SharePoint data source location.

                  
                  

                  - **url** *(string) --* 

                    The SharePoint site URL for the data source location.

                    
              
                

                - **sqlLocation** *(dict) --* 

                  Specifies information about the SQL query used to retrieve the result.

                  
                  

                  - **query** *(string) --* 

                    The SQL query used to retrieve the result.

                    
              
                

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

                  The type of data source location.

                  
                

                - **webLocation** *(dict) --* 

                  The web URL/URLs data source location.

                  
                  

                  - **url** *(string) --* 

                    The web URL/URLs for the data source location.

                    
              
            
              

              - **metadata** *(dict) --* 

                Contains metadata attributes and their values for the file in the data source. For more information, see `Metadata and filtering <https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-metadata>`__.

                
                

                - *(string) --* 
                  

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

        - **conflictException** *(dict) --* 

          Error occurred because of a conflict while performing an operation.

          
          

          - **message** *(string) --* 
      
        

        - **dependencyFailedException** *(dict) --* 

          The request failed due to a dependency error.

          
          

          - **message** *(string) --* 
          

          - **resourceName** *(string) --* 

            The name of the dependency that caused the issue, such as Amazon Bedrock, Lambda, or STS.

            
      
        

        - **guardrail** *(dict) --* 

          A guardrail event.

          
          

          - **action** *(string) --* 

            The guardrail action.

            
      
        

        - **internalServerException** *(dict) --* 

          An internal server error occurred. Retry your request.

          
          

          - **message** *(string) --* 
          

          - **reason** *(string) --* 

            The reason for the exception. If the reason is ``BEDROCK_MODEL_INVOCATION_SERVICE_UNAVAILABLE``, the model invocation service is unavailable. Retry your request.

            
      
        

        - **output** *(dict) --* 

          An output event.

          
          

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

            A text response.

            
      
        

        - **resourceNotFoundException** *(dict) --* 

          The specified resource ARN was not found. For troubleshooting this error, see `ResourceNotFound <https://docs.aws.amazon.com/bedrock/latest/userguide/troubleshooting-api-error-codes.html#ts-resource-not-found>`__ in the Amazon Bedrock User Guide.

          
          

          - **message** *(string) --* 
      
        

        - **serviceQuotaExceededException** *(dict) --* 

          Your request exceeds the service quota for your account. You can view your quotas at `Viewing service quotas <https://docs.aws.amazon.com/servicequotas/latest/userguide/gs-request-quota.html>`__. You can resubmit your request later.

          
          

          - **message** *(string) --* 
      
        

        - **throttlingException** *(dict) --* 

          Your request was denied due to exceeding the account quotas for *Amazon Bedrock*. For troubleshooting this error, see `ThrottlingException <https://docs.aws.amazon.com/bedrock/latest/userguide/troubleshooting-api-error-codes.html#ts-throttling-exception>`__ in the Amazon Bedrock User Guide.

          
          

          - **message** *(string) --* 
      
        

        - **validationException** *(dict) --* 

          The input fails to satisfy the constraints specified by *Amazon Bedrock*. For troubleshooting this error, see `ValidationError <https://docs.aws.amazon.com/bedrock/latest/userguide/troubleshooting-api-error-codes.html#ts-validation-error>`__ in the Amazon Bedrock User Guide.

          
          

          - **message** *(string) --* 
      
    
  
  **Exceptions**
  
  *   :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`

  