Skip to main content
Open In ColabOpen on GitHub

Vespa

Vespa is a fully featured search engine and vector database. It supports vector search (ANN), lexical search, and search in structured data, all in the same query.

本笔记本展示了如何将 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?")