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 Reference:VespaRetriever
这将设置一个从Vespa应用程序获取文档的LangChain检索器。
在这里,最多从paragraph
文档类型的content
字段中检索5个结果,
使用doumentation
作为排名方法。userQuery()
被替换为从LangChain传递的实际查询。
请参考pyvespa 文档以获取更多信息。
现在你可以返回结果并在LangChain中继续使用这些结果。
retriever.invoke("what is vespa?")