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 }, '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 } }, '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 thenextToken
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
,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. See the examples below to see how to use these filters.
This data type is used in the following API operations:
Retrieve request – in the
filter
fieldRetrieveAndGenerate request – 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 thevalue
in this object.The following example would return data sources with an
animal
attribute whose value iscat
:"equals": { "key": "animal", "value": "cat" }
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 are returned if they contain a metadata attribute whose name matches the
key
and whose value is greater than thevalue
in this object.The following example would return data sources with an
year
attribute whose value is greater than1989
:"greaterThan": { "key": "year", "value": 1989 }
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 are returned if they contain a metadata attribute whose name matches the
key
and whose value is greater than or equal to thevalue
in this object.The following example would return data sources with an
year
attribute whose value is greater than or equal to1989
:"greaterThanOrEquals": { "key": "year", "value": 1989 }
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 are returned if they contain a metadata attribute whose name matches the
key
and whose value is in the list specified in thevalue
in this object.The following example would return data sources with an
animal
attribute that is eithercat
ordog
:"in": { "key": "animal", "value": ["cat", "dog"] }
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 are returned if they contain a metadata attribute whose name matches the
key
and whose value is less than thevalue
in this object.The following example would return data sources with an
year
attribute whose value is less than to1989
."lessThan": { "key": "year", "value": 1989 }
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 are returned if they contain a metadata attribute whose name matches the
key
and whose value is less than or equal to thevalue
in this object.The following example would return data sources with an
year
attribute whose value is less than or equal to1989
."lessThanOrEquals": { "key": "year", "value": 1989 }
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.
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 thevalue
as one of its members.The following example would return data sources with an
animals
attribute that is a list containing acat
member (for example["dog", "cat"]
)."listContains": { "key": "animals", "value": "cat" }
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 thevalue
in this object are returned.The following example would return data sources that don’t contain an
animal
attribute whose value iscat
."notEquals": { "key": "animal", "value": "cat" }
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 are returned if they contain a metadata attribute whose name matches the
key
and whose value isn’t in the list specified in thevalue
in this object.The following example would return data sources whose
animal
attribute is neithercat
nordog
."notIn": { "key": "animal", "value": ["cat", "dog"] }
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 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. See the examples below to see how to use these filters.
This data type is used in the following API operations:
Retrieve request – in the
filter
fieldRetrieveAndGenerate request – 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 thevalue
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 withca
(for example,cat
orcamel
)."startsWith": { "key": "animal", "value": "ca" }
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.
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 ananimal
attribute that contains the substringat
(for examplecat
)."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 ananimals
attribute that is a list containing a member that contains the substringat
(for example["dog", "cat"]
)."stringContains": { "key": "animals", "value": "at" }
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, orSEMANTIC
search using only vector embeddings. For other vector store configurations, onlySEMANTIC
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': { 'confluenceLocation': { 'url': 'string' }, 's3Location': { 'uri': 'string' }, 'salesforceLocation': { 'url': 'string' }, 'sharePointLocation': { 'url': 'string' }, 'type': 'S3'|'WEB'|'CONFLUENCE'|'SALESFORCE'|'SHAREPOINT', 'webLocation': { 'url': 'string' } }, '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 thenextToken
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:
Retrieve response – in the
retrievalResults
field
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.
confluenceLocation (dict) –
The Confluence data source location.
url (string) –
The Confluence host URL for the data source location.
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.
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.
(string) –
(document) –
score (float) –
The level of relevance of the result to the query.
Exceptions
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