跳转到内容

Tavily 获取研究结果工具

TavilyGetResearchTool 让 CrewAI 智能体可以通过 request_id 检查现有的 Tavily 研究任务。当研究任务之前已启动,而你需要获取其当前状态或最终结果时,就可以使用它。

如果你需要启动一个新的研究作业,请使用 Tavily 研究工具。这个工具专门用于在你已经拥有 request_id 后查找现有的 Tavily 研究请求。

要使用 TavilyGetResearchTool,请同时安装 tavily-python 库和 crewai-tools

Terminal window
uv add 'crewai[tools]' tavily-python

设置你的 Tavily API key:

Terminal window
export TAVILY_API_KEY='your_tavily_api_key'

可在 https://app.tavily.com/ 获取 API key(注册后创建密钥)。

from crewai_tools import TavilyGetResearchTool
tavily_get_research_tool = TavilyGetResearchTool()
status_result = tavily_get_research_tool.run(
request_id="your-research-request-id"
)
print(status_result)

当你的应用或其他服务已经创建了一个 Tavily 研究任务并保存了其 request_id 时,使用 TavilyGetResearchTool

典型场景包括:

  • 在后台作业启动研究后轮询完成状态。
  • 查询长时间运行的研究任务的最新状态。
  • 从之前创建的 Tavily 请求中获取最终研究输出。

TavilyGetResearchTool 在调用 run 方法时接受以下参数:

  • request_id (str):必需。要检索的现有 Tavily 研究请求 ID。

当你的应用已经运行在异步事件循环中时,请使用 _arun

from crewai_tools import TavilyGetResearchTool
tavily_get_research_tool = TavilyGetResearchTool()
status_result = await tavily_get_research_tool._arun(
request_id="your-research-request-id"
)
  • 研究状态检索:获取现有 Tavily 研究任务的当前状态。
  • 结果检索:在 Tavily 完成任务后返回可用的研究输出。
  • 同步与异步:根据应用运行时,使用 _run/run_arun
  • JSON 输出:以格式化 JSON 字符串返回 Tavily 响应。

工具会返回一个 JSON 字符串,包含当前研究任务状态以及 Tavily 提供的任何可用结果。具体响应结构取决于 Tavily 返回的任务状态,因此未完成的任务可能会先返回状态信息,再返回最终研究输出。

关于 Research API 的完整细节,请参阅 Tavily API 文档