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]

根据查询上下文异步压缩检索到的文档。

参数
返回值

压缩后的文档。

返回类型

文档序列[Document]

compress_documents(documents: Sequence[Document], query: str, callbacks: Optional[Union[列表[BaseCallbackHandler], BaseCallbackManager]] = None) Sequence[Document][来源]

根据文档与查询的相关性进行过滤。

参数
返回类型

文档序列[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文档压缩器。

返回类型

LLMListwiseRerank