Skip to main content

Weaviate 中的混合搜索

本模板向您展示了如何在 Weaviate 中使用混合搜索功能。混合搜索将多个搜索算法结合起来,以提高搜索结果的准确性和相关性。

Weaviate 使用稀疏向量和密集向量来表示搜索查询和文档的含义和上下文。搜索结果使用 bm25 和向量搜索排名的组合来返回前几个结果。

配置

通过在 chain.py 中设置一些环境变量,连接到您托管的 Weaviate Vectorstore:

  • WEAVIATE_ENVIRONMENT

  • WEAVIATE_API_KEY

您还需要设置您的 OPENAI_API_KEY 来使用 OpenAI 模型。

入门

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

pip install -U langchain-cli

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

langchain app new my-app --package hybrid-search-weaviate

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

langchain app add hybrid-search-weaviate

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

from hybrid_search_weaviate import chain as hybrid_search_weaviate_chain
add_routes(app, hybrid_search_weaviate_chain, path="/hybrid-search-weaviate")

(可选)现在让我们配置 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/hybrid-search-weaviate/playground 上访问 playground。

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

from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/hybrid-search-weaviate")

Was this page helpful?


You can leave detailed feedback on GitHub.