Skip to main content
Exa 是面向 AI 和开发者的知识 API。

安装与设置

Exa 集成存在于其独立的合作伙伴包中。你可以使用以下命令安装:
pip install -qU langchain-exa
要使用该包,你还需要将 EXA_API_KEY 环境变量设置为你的 Exa API 密钥。

检索器

你可以在标准检索管道中使用 ExaSearchRetriever。导入方式如下。 查看使用示例
from langchain_exa import ExaSearchRetriever

工具

你可以按照 Exa 工具调用文档 中的描述将 Exa 用作代理工具。 查看使用示例

ExaFindSimilarResults

查询 Metaphor Search API 并返回 JSON 的工具。
from langchain_exa.tools import ExaFindSimilarResults

ExaSearchResults

Exa 搜索工具。
from langchain_exa.tools import ExaSearchResults

Exa 搜索检索器

你可以按如下方式检索搜索结果:
from langchain_exa import ExaSearchRetriever

exa_api_key = "YOUR API KEY"

# 创建 ExaSearchRetriever 的新实例
exa = ExaSearchRetriever(exa_api_key=exa_api_key)

# 搜索查询并保存结果
results  = exa.invoke("What is the capital of France?")

# 打印结果
print(results)

高级功能

你可以使用文本限制、摘要和实时爬取等高级功能:
from langchain_exa import ExaSearchRetriever, TextContentsOptions

# 使用高级选项创建新实例
exa = ExaSearchRetriever(
    exa_api_key="YOUR API KEY",
    k=20,  # 结果数量 (1-100)
    type="auto",  # 可以是 "neural"、"keyword" 或 "auto"
    livecrawl="always",  # 可以是 "always"、"fallback" 或 "never"
    summary=True,  # 获取每个结果的 AI 生成摘要
    text_contents_options={"max_characters": 3000}  # 限制文本长度
)

# 使用自定义摘要提示词搜索
exa_with_custom_summary = ExaSearchRetriever(
    exa_api_key="YOUR API KEY",
    summary={"query": "generate one line summary in simple words."}  # 自定义摘要提示词
)

Exa 搜索结果

你可以按如下方式运行 ExaSearchResults 模块:
from langchain_exa import ExaSearchResults

# 初始化 ExaSearchResults 工具
search_tool = ExaSearchResults(exa_api_key="YOUR API KEY")

# 执行搜索查询
search_results = search_tool._run(
    query="When was the last time the New York Knicks won the NBA Championship?",
    num_results=5,
    text_contents_options=True,
    highlights=True
)

print("Search Results:", search_results)

Exa 查找相似结果

你可以按如下方式运行 ExaFindSimilarResults 模块:
from langchain_exa import ExaFindSimilarResults

# 初始化 ExaFindSimilarResults 工具
find_similar_tool = ExaFindSimilarResults(exa_api_key="YOUR API KEY")

# 根据 URL 查找相似结果
similar_results = find_similar_tool._run(
    url="http://espn.com",
    num_results=5,
    text_contents_options=True,
    highlights=True
)

print("Similar Results:", similar_results)

配置选项

所有 Exa 工具都支持以下通用参数:
  • num_results (1-100):返回的搜索结果数量
  • type:搜索类型 - “neural”、“keyword” 或 “auto”
  • livecrawl:实时爬取模式 - “always”、“fallback” 或 “never”
  • summary:获取 AI 生成的摘要(True/False 或自定义提示词字典)
  • text_contents_options:用于限制文本长度的字典(例如 {"max_characters": 2000}
  • highlights:包含高亮文本片段(True/False)