langchain.retrievers.document_compressors.chain_filter.LLMChainFilter¶

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

Bases: BaseDocumentCompressor

Filter that drops documents that aren’t relevant to the query.

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 filtering documents. The chain prompt is expected to have a BooleanOutputParser.

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

Filter down documents.

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

Filter down documents based on their relevance to the query.

classmethod from_llm(llm: BaseLanguageModel, prompt: Optional[BasePromptTemplate] = None, **kwargs: Any) LLMChainFilter[source]¶

Create a LLMChainFilter from a language model.

Parameters
  • llm – The language model to use for filtering.

  • prompt – The prompt to use for the filter.

  • **kwargs – Additional arguments to pass to the constructor.

Returns

A LLMChainFilter that uses the given language model.