Home / Function/ compress_documents() — langchain Function Reference

compress_documents() — langchain Function Reference

Architecture documentation for the compress_documents() function in cross_encoder_rerank.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  9c91c123_fd5c_2b24_8848_8ee641345546["compress_documents()"]
  b57d0bc1_34a8_c3ef_14bc_10afd0822334["CrossEncoderReranker"]
  9c91c123_fd5c_2b24_8848_8ee641345546 -->|defined in| b57d0bc1_34a8_c3ef_14bc_10afd0822334
  style 9c91c123_fd5c_2b24_8848_8ee641345546 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/retrievers/document_compressors/cross_encoder_rerank.py lines 31–50

    def compress_documents(
        self,
        documents: Sequence[Document],
        query: str,
        callbacks: Callbacks | None = None,
    ) -> Sequence[Document]:
        """Rerank documents using CrossEncoder.

        Args:
            documents: A sequence of documents to compress.
            query: The query to use for compressing the documents.
            callbacks: Callbacks to run during the compression process.

        Returns:
            A sequence of compressed documents.
        """
        scores = self.model.score([(query, doc.page_content) for doc in documents])
        docs_with_scores = list(zip(documents, scores, strict=False))
        result = sorted(docs_with_scores, key=operator.itemgetter(1), reverse=True)
        return [doc for doc, _ in result[: self.top_n]]

Domain

Subdomains

Frequently Asked Questions

What does compress_documents() do?
compress_documents() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/retrievers/document_compressors/cross_encoder_rerank.py.
Where is compress_documents() defined?
compress_documents() is defined in libs/langchain/langchain_classic/retrievers/document_compressors/cross_encoder_rerank.py at line 31.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free