BedrockRerank#

class langchain_aws.document_compressors.rerank.BedrockRerank[source]#

Bases: BaseDocumentCompressor

Document compressor that uses AWS Bedrock Rerank API.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

param client: Any = None#

Bedrock client to use for compressing documents.

param credentials_profile_name: str | None [Optional]#

AWS profile for authentication, optional.

param model_arn: str [Required]#

The ARN of the reranker model.

param region_name: str [Optional]#

AWS region to initialize the Bedrock client.

param top_n: int | None = 3#

Number of documents to return.

async acompress_documents(documents: Sequence[Document], query: str, callbacks: list[BaseCallbackHandler] | BaseCallbackManager | None = None) β†’ Sequence[Document]#

Async compress retrieved documents given the query context.

Parameters:
Returns:

The compressed documents.

Return type:

Sequence[Document]

compress_documents(documents: Sequence[Document], query: str, callbacks: list[BaseCallbackHandler] | BaseCallbackManager | None = None) β†’ Sequence[Document][source]#

Compress documents using Bedrock’s rerank API.

Parameters:
  • documents (Sequence[Document]) – A sequence of documents to compress.

  • query (str) – The query to use for compressing the documents.

  • callbacks (list[BaseCallbackHandler] | BaseCallbackManager | None) – Callbacks to run during the compression process.

Returns:

A sequence of compressed documents.

Return type:

Sequence[Document]

rerank(documents: Sequence[str | Document | dict], query: str, top_n: int | None = None, additional_model_request_fields: Dict[str, Any] | None = None) β†’ List[Dict[str, Any]][source]#

Returns an ordered list of documents based on their relevance to the query.

Parameters:
  • query (str) – The query to use for reranking.

  • documents (Sequence[str | Document | dict]) – A sequence of documents to rerank.

  • top_n (int | None) – The number of top-ranked results to return. Defaults to self.top_n.

  • additional_model_request_fields (Dict[str, Any] | None) – Additional fields to pass to the model.

Returns:

A list of ranked documents with relevance scores.

Return type:

List[Dict[str, Any]]