compress_documents() — langchain Function Reference
Architecture documentation for the compress_documents() function in chain_extract.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD c30de1e5_c8f8_7d2c_ba90_0a2c651a4a79["compress_documents()"] d6c70f63_58ba_abd9_fdbd_d94844756192["LLMChainExtractor"] c30de1e5_c8f8_7d2c_ba90_0a2c651a4a79 -->|defined in| d6c70f63_58ba_abd9_fdbd_d94844756192 c90495a0_aae6_38c6_c997_5e8b5e7e15f4["parse()"] c30de1e5_c8f8_7d2c_ba90_0a2c651a4a79 -->|calls| c90495a0_aae6_38c6_c997_5e8b5e7e15f4 style c30de1e5_c8f8_7d2c_ba90_0a2c651a4a79 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain/langchain_classic/retrievers/document_compressors/chain_extract.py lines 68–90
def compress_documents(
self,
documents: Sequence[Document],
query: str,
callbacks: Callbacks | None = None,
) -> Sequence[Document]:
"""Compress page content of raw documents."""
compressed_docs = []
for doc in documents:
_input = self.get_input(query, doc)
output_ = self.llm_chain.invoke(_input, config={"callbacks": callbacks})
if isinstance(self.llm_chain, LLMChain):
output = output_[self.llm_chain.output_key]
if self.llm_chain.prompt.output_parser is not None:
output = self.llm_chain.prompt.output_parser.parse(output)
else:
output = output_
if len(output) == 0:
continue
compressed_docs.append(
Document(page_content=cast("str", output), metadata=doc.metadata),
)
return compressed_docs
Domain
Subdomains
Calls
Source
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_extract.py.
Where is compress_documents() defined?
compress_documents() is defined in libs/langchain/langchain_classic/retrievers/document_compressors/chain_extract.py at line 68.
What does compress_documents() call?
compress_documents() calls 1 function(s): parse.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free