Skip to main content
Open In ColabOpen on 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云实例 或者本地的 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个结果是从paragraph文档类型中的content字段检索出来的,使用doumentation作为排名方法。其中userQuery()将被实际查询所替换,该查询来自LangChain。

请参阅pyvespa 文档 以获取更多信息。

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

retriever.invoke("what is vespa?")