跳到主要內容

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 應用程式擷取文件。此處,最多從 paragraph 文件類型的 content 欄位中檢索 5 個結果,使用 doumentation 作為排名方法。userQuery() 會替換為從 LangChain 傳遞的實際查詢。

如需更多資訊,請參閱 pyvespa 文件

現在您可以傳回結果,並繼續在 LangChain 中使用結果。

retriever.invoke("what is vespa?")

此頁面是否對您有幫助?