langchain.retrievers.document_compressors.listwise_rerank
.LLMListwiseRerank¶
- class langchain.retrievers.document_compressors.listwise_rerank.LLMListwiseRerank[source]¶
基本类型:
BaseDocumentCompressor
使用《零样本列表化文档重排》的文档压缩器。
改编自: https://arxiv.org/pdf/2305.02156.pdf
LLMListwiseRerank
采用语言模型对文档列表按其与问题的相关性进行再排名。注意:要求底层模型实现
with_structured_output
。- 示例用法
from langchain.retrievers.document_compressors.listwise_rerank import ( LLMListwiseRerank, ) from langchain_core.documents import Document from langchain_openai import ChatOpenAI documents = [ Document("Sally is my friend from school"), Document("Steve is my friend from home"), Document("I didn't always like yogurt"), Document("I wonder why it's called football"), Document("Where's waldo"), ] reranker = LLMListwiseRerank.from_llm( llm=ChatOpenAI(model="gpt-3.5-turbo"), top_n=3 ) compressed_docs = reranker.compress_documents(documents, "Who is steve") assert len(compressed_docs) == 3 assert "Steve" in compressed_docs[0].page_content
通过解析和验证关键字参数中的输入数据创建新的模型。
如果输入数据无法解析成有效的模型,将引发 ValidationError。
- paramreranker:Required:Runnable[Dict, List[Document]]]¶
要用于过滤文档的基于LLM的再排名器。预期以包含‘documents: Sequence[Document]’和‘query: str’键的dict作为输入,并输出 List[Document]。
- paramtop_n: int = 3¶
要返回的文档数量。
- asyncacompress_documents(documents: Sequence[Document], query: str, callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]] = None) Sequence[Document]¶
根据查询上下文异步压缩检索到的文档。
- 参数
documents (Sequence[Document]) – 检索到的文档。
query (str) – 查询上下文。
callbacks ([可选][Union[列表[BaseCallbackHandler], BaseCallbackManager]]) – 压缩期间可选的回调函数。
- 返回值
压缩后的文档。
- 返回类型
文档序列[Document]
- compress_documents(documents: Sequence[Document], query: str, callbacks: Optional[Union[列表[BaseCallbackHandler], BaseCallbackManager]] = None) Sequence[Document] [来源]¶
根据文档与查询的相关性进行过滤。
- 参数
documents (文档序列[Document]) –
query (str) –
callbacks ([可选][Union[列表[BaseCallbackHandler], BaseCallbackManager]]) –
- 返回类型
文档序列[Document]
- classmethod from_llm(llm: BaseLanguageModel, *, prompt: Optional[BasePromptTemplate] = None, **kwargs: Any) LLMListwiseRerank [source]¶
从语言模型创建LLMListwiseRerank文档压缩器。
- 参数
llm (BaseLanguageModel) – 用于筛选的语言模型。必须实现BaseLanguageModel.with_structured_output()。
prompt (Optional[BasePromptTemplate]) – 用于筛选的提示。
kwargs (Any) – 传递到构造函数的额外参数。
- 返回值
使用给定语言模型的LLMListwiseRerank文档压缩器。
- 返回类型