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:
BaseDocumentCompressorFilter 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.