Skip to main content
这展示了如何将 Vespa.ai 用作 LangChain 检索器。 Vespa.ai 是一个高效的结构化文本和向量搜索平台。 请参阅 Vespa.ai 了解更多信息。 以下设置了一个从 Vespa 文档搜索中获取结果的检索器:
import { VespaRetriever } from "@langchain/community/retrievers/vespa";

export const run = async () => {
  const url = "https://doc-search.vespa.oath.cloud";
  const query_body = {
    yql: "select content from paragraph where userQuery()",
    hits: 5,
    ranking: "documentation",
    locale: "en-us",
  };
  const content_field = "content";

  const retriever = new VespaRetriever({
    url,
    auth: false,
    query_body,
    content_field,
  });

  const result = await retriever.invoke("what is vespa?");
  console.log(result);
};
在这里,从 paragraph 文档类型的 content 字段中检索最多 5 个结果, 使用 documentation 作为排名方法。userQuery() 将替换为从 LangChain 传递的实际查询。 请参阅 pyvespa 文档 了解更多信息。 URL 是 Vespa 应用程序的端点。 您可以连接到任何 Vespa 端点,无论是远程服务还是使用 Docker 的本地实例。 但是,大多数 Vespa Cloud 实例都受 mTLS 保护。 如果是这种情况,您可以例如设置一个 CloudFlare Worker 其中包含连接到实例所需的凭据。 现在您可以返回结果并继续在 LangChain 中使用它们。

相关