Skip to main content
Open In Colab在 GitHub 上打开

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 应用程序获取文档。 在这里,最多 5 个结果从content字段中的paragraph文档类型, 用doumentation作为排名方法。这userQuery()替换为实际查询 从 LangChain 传递。

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

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

retriever.invoke("what is vespa?")