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?")