Skip to main content
Exa 是一个完全为 LLM 设计的搜索引擎。使用自然语言查询在互联网上搜索文档,然后从所需文档中检索清理后的 HTML 内容。 与基于关键词的搜索(如 Google)不同,Exa 的神经搜索能力使其能够语义理解查询并返回相关文档。例如,我们可以搜索 "fascinating article about cats",并比较来自 Google 和 Exa 的搜索结果。Google 基于关键词 “fascinating” 给我们返回 SEO 优化的列表文章。Exa 则直接有效。 本笔记本将介绍如何将 Exa 搜索与 LangChain 结合使用。

设置

安装

安装 LangChain Exa 集成包:

凭证

您需要一个 Exa API 密钥才能使用此集成。通过在此注册可获得 10 美元免费额度(完成某些操作如首次搜索可获得更多)。

使用 ExaSearchResults 工具

ExaSearchResults 是一个可与 LangChain 代理一起使用的工具,用于执行 Exa 搜索。它为搜索操作提供了更结构化的接口:

ExaSearchResults 的高级功能

您可以使用高级搜索选项,如控制搜索类型、实时爬取和内容过滤:

使用 ExaFindSimilarResults 工具

ExaFindSimilarResults 允许您查找与给定 URL 类似的网页。这对于查找相关内容或竞争分析很有用:

在代理中使用

我们可以将 ExaSearchResults 和 ExaFindSimilarResults 工具与 LangGraph 代理一起使用。这使代理能够根据用户的查询动态搜索信息并查找类似内容。 首先,让我们设置语言模型。您需要提供您的 OpenAI API 密钥:
我们需要安装 langgraph:

使用 ExaSearchRetriever

ExaSearchRetriever 是一个使用 Exa 搜索来检索相关文档的检索器。
用于 TextContentsOptions 的 max_characters 参数以前称为 max_length,现已弃用。请确保使用 max_characters。

基本用法

以下是使用 ExaSearchRetriever 的一个简单示例:

高级功能

您可以使用高级功能,如控制结果数量、搜索类型、实时爬取、摘要和文本内容选项:

API 参考

有关所有 Exa API 功能和配置的详细文档,请访问 Exa API 文档。