Tavily 获取研究结果工具
TavilyGetResearchTool 让 CrewAI 智能体可以通过 request_id 检查现有的 Tavily 研究任务。当研究任务之前已启动,而你需要获取其当前状态或最终结果时,就可以使用它。
如果你需要启动一个新的研究作业,请使用 Tavily 研究工具。这个工具专门用于在你已经拥有 request_id 后查找现有的 Tavily 研究请求。
要使用 TavilyGetResearchTool,请同时安装 tavily-python 库和 crewai-tools:
uv add 'crewai[tools]' tavily-python设置你的 Tavily API key:
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 文档。