跳到主要内容
Contextual AI 的指令遵循 Reranker 是世界上第一个设计用于根据新近度、来源和元数据等特定标准,根据自定义指令对文档进行优先排序的 Reranker。它在 BEIR 基准测试中表现卓越(得分 61.2,并以显著优势超越竞争对手),为企业 RAG 应用程序提供了前所未有的控制和准确性。

主要功能

  • 指令遵循:通过自然语言命令动态控制文档排名
  • 冲突解决:智能处理来自多个知识源的矛盾信息
  • 卓越准确性:在行业基准测试中实现最先进的性能
  • 无缝集成:在您的 RAG 管道中直接替换现有 Reranker
该 Reranker 擅长解决企业知识库中的实际挑战,例如优先考虑最新文档而非过时文档,或偏爱内部文档而非外部来源。 要了解有关我们指令遵循 Reranker 的更多信息并查看其运行示例,请访问我们的产品概述 有关 Contextual AI 产品的全面文档,请访问我们的开发者门户 此集成需要 contextual-client Python SDK。在此处了解更多信息:此处

概览

此集成调用 Contextual AI 的基础语言模型。

集成详情

类别本地可序列化JS 支持下载量版本
ContextualReranklangchain-contextual测试版PyPI - DownloadsPyPI - Version

设置

要访问 Contextual 的 reranker 模型,您需要创建一个 Contextual AI 帐户,获取 API 密钥,并安装 langchain-contextual 集成包。

凭据

前往 app.contextual.ai 注册 Contextual 并生成 API 密钥。完成后,设置 CONTEXTUAL_AI_API_KEY 环境变量
import getpass
import os

if not os.getenv("CONTEXTUAL_AI_API_KEY"):
    os.environ["CONTEXTUAL_AI_API_KEY"] = getpass.getpass(
        "Enter your Contextual API key: "
    )

安装

LangChain Contextual 集成位于 langchain-contextual 包中
pip install -qU langchain-contextual

实例化

Contextual Reranker 参数为
参数类型描述
文档list[Document]要重新排序的文档序列。文档中包含的任何元数据也将用于重新排序。
查询str用于重新排序的查询。
modelstr要使用的 reranker 版本。目前,我们只有“ctxl-rerank-en-v1-instruct”。
top_nOptional[int]要返回的结果数量。如果为 None,则返回所有结果。默认为 self.top_n。
指令Optional[str]用于 reranker 的指令。
callbacksOptional[Callbacks]在压缩过程中运行的回调。
from langchain_contextual import ContextualRerank

api_key = ""
model = "ctxl-rerank-en-v1-instruct"

compressor = ContextualRerank(
    model=model,
    api_key=api_key,
)

用法

首先,我们将设置要使用的全局变量和示例,并实例化我们的 reranker 客户端。
from langchain_core.documents import Document

query = "What is the current enterprise pricing for the RTX 5090 GPU for bulk orders?"
instruction = "Prioritize internal sales documents over market analysis reports. More recent documents should be weighted higher. Enterprise portal content supersedes distributor communications."

document_contents = [
    "Following detailed cost analysis and market research, we have implemented the following changes: AI training clusters will see a 15% uplift in raw compute performance, enterprise support packages are being restructured, and bulk procurement programs (100+ units) for the RTX 5090 Enterprise series will operate on a $2,899 baseline.",
    "Enterprise pricing for the RTX 5090 GPU bulk orders (100+ units) is currently set at $3,100-$3,300 per unit. This pricing for RTX 5090 enterprise bulk orders has been confirmed across all major distribution channels.",
    "RTX 5090 Enterprise GPU requires 450W TDP and 20% cooling overhead.",
]

metadata = [
    {
        "Date": "January 15, 2025",
        "Source": "NVIDIA Enterprise Sales Portal",
        "Classification": "Internal Use Only",
    },
    {"Date": "11/30/2023", "Source": "TechAnalytics Research Group"},
    {
        "Date": "January 25, 2025",
        "Source": "NVIDIA Enterprise Sales Portal",
        "Classification": "Internal Use Only",
    },
]

documents = [
    Document(page_content=content, metadata=metadata[i])
    for i, content in enumerate(document_contents)
]
reranked_documents = compressor.compress_documents(
    query=query,
    instruction=instruction,
    documents=documents,
)

在链中使用

示例即将推出。

API 参考

有关所有 ChatContextual 功能和配置的详细文档,请访问 Github 页面:github.com/ContextualAI//langchain-contextual
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.