AgentsforBedrockRuntime / Client / retrieve_and_generate

retrieve_and_generate#

AgentsforBedrockRuntime.Client.retrieve_and_generate(**kwargs)#

Queries a knowledge base and generates responses based on the retrieved results. The response cites up to five sources but only selects the ones that are relevant to the query.

Note

The numberOfResults field is currently unsupported for RetrieveAndGenerate. Don’t include it in the vectorSearchConfiguration object.

See also: AWS API Documentation

Request Syntax

response = client.retrieve_and_generate(
    input={
        'text': 'string'
    },
    retrieveAndGenerateConfiguration={
        'knowledgeBaseConfiguration': {
            'knowledgeBaseId': 'string',
            'modelArn': 'string',
            'retrievalConfiguration': {
                'vectorSearchConfiguration': {
                    'numberOfResults': 123,
                    'overrideSearchType': 'HYBRID'|'SEMANTIC'
                }
            }
        },
        'type': 'KNOWLEDGE_BASE'
    },
    sessionConfiguration={
        'kmsKeyArn': 'string'
    },
    sessionId='string'
)
Parameters:
  • input (dict) –

    [REQUIRED]

    Contains the query made to the knowledge base.

    • text (string) – [REQUIRED]

      The query made to the knowledge base.

  • retrieveAndGenerateConfiguration (dict) –

    Contains details about the resource being queried and the foundation model used for generation.

    • knowledgeBaseConfiguration (dict) –

      Contains details about the resource being queried.

      • knowledgeBaseId (string) – [REQUIRED]

        The unique identifier of the knowledge base that is queried and the foundation model used for generation.

      • modelArn (string) – [REQUIRED]

        The ARN of the foundation model used to generate a response.

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

          • numberOfResults (integer) –

            The number of results to return.

            Note

            The numberOfResults field is currently unsupported for RetrieveAndGenerate. Don’t include it in this field if you are sending a RetrieveAndGenerate request.

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

    • type (string) – [REQUIRED]

      The type of resource that is queried by the request.

  • sessionConfiguration (dict) –

    Contains details about the session with the knowledge base.

    • kmsKeyArn (string) – [REQUIRED]

      The ARN of the KMS key encrypting the session.

  • sessionId (string) – The unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.

Return type:

dict

Returns:

Response Syntax

{
    'citations': [
        {
            'generatedResponsePart': {
                'textResponsePart': {
                    'span': {
                        'end': 123,
                        'start': 123
                    },
                    'text': 'string'
                }
            },
            'retrievedReferences': [
                {
                    'content': {
                        'text': 'string'
                    },
                    'location': {
                        's3Location': {
                            'uri': 'string'
                        },
                        'type': 'S3'
                    }
                },
            ]
        },
    ],
    'output': {
        'text': 'string'
    },
    'sessionId': 'string'
}

Response Structure

  • (dict) –

    • citations (list) –

      A list of segments of the generated response that are based on sources in the knowledge base, alongside information about the sources.

      • (dict) –

        An object containing a segment of the generated response that is based on a source in the knowledge base, alongside information about the source.

        • 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 sources cited for the generated response.

            • content (dict) –

              Contains the cited text from the data source.

              • text (string) –

                The cited text from the data source.

            • location (dict) –

              Contains information about the location of the data source.

              • s3Location (dict) –

                Contains the S3 location of the data source.

                • uri (string) –

                  The S3 URI of the data source.

              • type (string) –

                The type of the location of the data source.

    • output (dict) –

      Contains the response generated from querying the knowledge base.

      • text (string) –

        The response generated from querying the knowledge base.

    • sessionId (string) –

      The unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.

Exceptions

  • AgentsforBedrockRuntime.Client.exceptions.ConflictException

  • AgentsforBedrockRuntime.Client.exceptions.ResourceNotFoundException

  • AgentsforBedrockRuntime.Client.exceptions.ValidationException

  • AgentsforBedrockRuntime.Client.exceptions.InternalServerException

  • AgentsforBedrockRuntime.Client.exceptions.DependencyFailedException

  • AgentsforBedrockRuntime.Client.exceptions.BadGatewayException

  • AgentsforBedrockRuntime.Client.exceptions.ThrottlingException

  • AgentsforBedrockRuntime.Client.exceptions.AccessDeniedException

  • AgentsforBedrockRuntime.Client.exceptions.ServiceQuotaExceededException