langchain.retrievers.document_compressors.chain_extract.LLMChainExtractor¶

class langchain.retrievers.document_compressors.chain_extract.LLMChainExtractor(*, llm_chain: ~langchain.chains.llm.LLMChain, get_input: ~typing.Callable[[str, ~langchain.schema.document.Document], dict] = <function default_get_input>)[source]¶

Bases: BaseDocumentCompressor

DocumentCompressor that uses an LLM chain to extract the relevant parts of documents.

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

Raises ValidationError if the input data cannot be parsed to form a valid model.

param get_input: Callable[[str, langchain.schema.document.Document], dict] = <function default_get_input>¶

Callable for constructing the chain input from the query and a Document.

param llm_chain: langchain.chains.llm.LLMChain [Required]¶

LLM wrapper to use for compressing documents.

async acompress_documents(documents: Sequence[Document], query: str, callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]] = None) Sequence[Document][source]¶

Compress page content of raw documents asynchronously.

compress_documents(documents: Sequence[Document], query: str, callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]] = None) Sequence[Document][source]¶

Compress page content of raw documents.

classmethod from_llm(llm: BaseLanguageModel, prompt: Optional[PromptTemplate] = None, get_input: Optional[Callable[[str, Document], str]] = None, llm_chain_kwargs: Optional[dict] = None) LLMChainExtractor[source]¶

Initialize from LLM.