AgentsforBedrockRuntime / Client / retrieve

retrieve#

AgentsforBedrockRuntime.Client.retrieve(**kwargs)#

Queries a knowledge base and retrieves information from it.

See also: AWS API Documentation

Request Syntax

response = client.retrieve(
    knowledgeBaseId='string',
    nextToken='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
                },
                '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
                }
            },
            'numberOfResults': 123,
            'overrideSearchType': 'HYBRID'|'SEMANTIC'
        }
    },
    retrievalQuery={
        'text': 'string'
    }
)
Parameters:
  • knowledgeBaseId (string) –

    [REQUIRED]

    The unique identifier of the knowledge base to query.

  • nextToken (string) – If there are more results than can fit in the response, the response returns a nextToken. Use this token in the nextToken field of another request to retrieve the next batch of results.

  • retrievalConfiguration (dict) –

    Contains configurations for the knowledge base query and retrieval process. For more information, see Query configurations.

    • vectorSearchConfiguration (dict) – [REQUIRED]

      Contains details about how the results from the vector search should be returned. For more information, see Query configurations.

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

        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, notEquals, notIn, orAll, startsWith.

        • andAll (list) –

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

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

            This data type is used in the following API operations:

            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, notEquals, notIn, orAll, startsWith.

        • equals (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • greaterThan (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • greaterThanOrEquals (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • in (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • lessThan (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • lessThanOrEquals (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • notEquals (dict) –

          Knowledge base data sources that contain a metadata attribute whose name matches the key and whose value doesn’t match the value in this object are returned.

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • notIn (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

        • orAll (list) –

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

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

            This data type is used in the following API operations:

            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, notEquals, notIn, orAll, startsWith.

        • startsWith (dict) –

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

          • key (string) – [REQUIRED]

            The name that the metadata attribute must match.

          • value (document) – [REQUIRED]

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

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

  • retrievalQuery (dict) –

    [REQUIRED]

    Contains the query to send the knowledge base.

    • text (string) – [REQUIRED]

      The text of the query made to the knowledge base.

Return type:

dict

Returns:

Response Syntax

{
    'nextToken': 'string',
    'retrievalResults': [
        {
            'content': {
                'text': 'string'
            },
            'location': {
                's3Location': {
                    'uri': 'string'
                },
                'type': 'S3'
            },
            'metadata': {
                'string': {...}|[...]|123|123.4|'string'|True|None
            },
            'score': 123.0
        },
    ]
}

Response Structure

  • (dict) –

    • nextToken (string) –

      If there are more results than can fit in the response, the response returns a nextToken. Use this token in the nextToken field of another request to retrieve the next batch of results.

    • retrievalResults (list) –

      A list of results from querying the knowledge base.

      • (dict) –

        Details about a result from querying the knowledge base.

        This data type is used in the following API operations:

        • content (dict) –

          Contains a chunk of text from a data source in the knowledge base.

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

        • metadata (dict) –

          Contains metadata attributes and their values for the file in the data source. For more information, see Metadata and filtering.

        • score (float) –

          The level of relevance of the result to the query.

Exceptions