跳至主要内容

Vespa

Vespa 是一个功能齐全的搜索引擎和向量数据库。它支持向量搜索(ANN)、词汇搜索和结构化数据中的搜索,所有这些都可以在同一个查询中完成。

此笔记本演示如何将Vespa.ai用作 LangChain 检索器。

为了创建检索器,我们使用pyvespa 来创建与Vespa服务的连接。

%pip install --upgrade --quiet  pyvespa
from vespa.application import Vespa

vespa_app = Vespa(url="https://doc-search.vespa.oath.cloud")

这将创建一个到Vespa服务的连接,此处为 Vespa 文档搜索服务。使用pyvespa包,您还可以连接到Vespa Cloud 实例或本地Docker 实例

连接到服务后,您可以设置检索器

from langchain_community.retrievers import VespaRetriever

vespa_query_body = {
"yql": "select content from paragraph where userQuery()",
"hits": 5,
"ranking": "documentation",
"locale": "en-us",
}
vespa_content_field = "content"
retriever = VespaRetriever(vespa_app, vespa_query_body, vespa_content_field)
API 参考:VespaRetriever

这将设置一个 LangChain 检索器,该检索器从 Vespa 应用程序中获取文档。此处,最多从paragraph文档类型中的content字段检索5个结果,使用doumentation作为排序方法。userQuery()将替换为从 LangChain 传递的实际查询。

有关更多信息,请参阅pyvespa 文档

现在您可以返回结果,并在 LangChain 中继续使用这些结果。

retriever.invoke("what is vespa?")

此页面是否有帮助?


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