Home / Function/ compress_documents() — langchain Function Reference

compress_documents() — langchain Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  ca9184b3_c6c0_7b7a_53fb_b14fa9b3373f["compress_documents()"]
  c18417f6_2ef7_e19d_e7f5_79027ef3dd22["LLMChainFilter"]
  ca9184b3_c6c0_7b7a_53fb_b14fa9b3373f -->|defined in| c18417f6_2ef7_e19d_e7f5_79027ef3dd22
  style ca9184b3_c6c0_7b7a_53fb_b14fa9b3373f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/retrievers/document_compressors/chain_filter.py lines 49–79

    def compress_documents(
        self,
        documents: Sequence[Document],
        query: str,
        callbacks: Callbacks | None = None,
    ) -> Sequence[Document]:
        """Filter down documents based on their relevance to the query."""
        filtered_docs = []

        config = RunnableConfig(callbacks=callbacks)
        outputs = zip(
            self.llm_chain.batch(
                [self.get_input(query, doc) for doc in documents],
                config=config,
            ),
            documents,
            strict=False,
        )

        for output_, doc in outputs:
            include_doc = None
            if isinstance(self.llm_chain, LLMChain):
                output = output_[self.llm_chain.output_key]
                if self.llm_chain.prompt.output_parser is not None:
                    include_doc = self.llm_chain.prompt.output_parser.parse(output)
            elif isinstance(output_, bool):
                include_doc = output_
            if include_doc:
                filtered_docs.append(doc)

        return filtered_docs

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/chain_filter.py.
Where is compress_documents() defined?
compress_documents() is defined in libs/langchain/langchain_classic/retrievers/document_compressors/chain_filter.py at line 49.

Analyze Your Own Codebase

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

Try Supermodel Free