Skip to main content

propositional-retrieval

此模板演示了Chen等人提出的多向量索引策略,详见Dense X Retrieval: What Retrieval Granularity Should We Use?。该提示可以在hub上试用,引导LLM生成去上下文化的“命题”,这些命题可以被向量化以提高检索准确性。您可以在proposal_chain.py中查看完整定义。

存储

在这个演示中,我们使用 RecursiveUrlLoader 对一篇简单的学术论文进行索引,并将所有检索器信息存储在本地(使用 chroma 和存储在本地文件系统上的 bytestore)。您可以在 storage.py 中修改存储层。

环境设置

设置 OPENAI_API_KEY 环境变量以访问 gpt-3.5 和 OpenAI Embeddings 类。

索引

通过运行以下命令创建索引:

poetry install
poetry run python propositional_retrieval/ingest.py

使用方法

要使用此包,您应该首先安装 LangChain CLI:

pip install -U langchain-cli

要创建一个新的 LangChain 项目并将此作为唯一的包安装,您可以执行:

langchain app new my-app --package propositional-retrieval

如果您想将其添加到现有项目中,只需运行:

langchain app add propositional-retrieval

并将以下代码添加到您的 server.py 文件中:

from propositional_retrieval import chain

add_routes(app, chain, path="/propositional-retrieval")

(可选)现在让我们配置 LangSmith。 LangSmith 将帮助我们跟踪、监视和调试 LangChain 应用程序。 您可以在 这里 注册 LangSmith。 如果您没有访问权限,可以跳过此部分。

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project> # 如果未指定,默认为 "default"

如果您在此目录中,则可以直接启动一个 LangServe 实例:

langchain serve

这将启动 FastAPI 应用程序,服务器在本地运行,地址为 http://localhost:8000

我们可以在 http://127.0.0.1:8000/docs 查看所有模板。 我们可以在 http://127.0.0.1:8000/propositional-retrieval/playground 访问游乐场。

我们可以通过代码访问模板:

from langserve.client import RemoteRunnable

runnable = RemoteRunnable("http://localhost:8000/propositional-retrieval")

此页面是否有帮助?


您还可以留下详细的反馈 在 GitHub 上