6大核心模块(Modules)
示例
Vespa Retriever

LangChain

Vespa.ai作为LangChain检索器

本笔记展示了如何使用Vespa.ai作为LangChain检索器。 Vespa.ai是一个高效的结构化文本和向量搜索平台。 更多信息请参见Vespa.ai (opens in a new tab)

为了创建一个检索器,我们使用pyvespa (opens in a new tab)来 创建到Vespa服务的连接。

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

这将创建一个连接到Vespa服务的连接,这里是Vespa文档搜索服务。 使用pyvespa,您还可以连接到 Vespa Cloud实例 (opens in a new tab) 或者本地 Docker实例 (opens in a new tab)

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

from langchain.retrievers.vespa_retriever 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)
 

这里创建了一个LangChain检索器,从Vespa应用程序中获取文档。在此,最多从“段落”文档类型中的content字段中检索5个结果,使用doumentation作为排名方法。 userQuery()将替换为从LangChain传递而来的实际查询。

有关更多信息,请参阅pyvespa文档 (opens in a new tab)

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

retriever.get_relevant_documents("what is vespa?")