
Agno ParallelTools 集成指南用 Parallel Search / Task / Monitor 三套 API 构建 Web 研究与监控 Agent【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno导读本文基于 agno 开源仓库 cookbook 中的 Parallel Tools 教程 及其配套示例系统讲解如何在 agno Agent 中接入 Parallelparallel.ai的 Search、Task、Monitor 三套 API覆盖环境配置、工具参数详解、4 种结构化输出模式以及投资监控、竞品追踪等真实场景。读完本文你将能够在一小时内把 Parallel 的快速检索、深度研究、定时监控能力封装为 agno Agent 的可调用工具并复现仓库中全部 6 个实战示例。Parallel 三套 API 概览Parallel 提供面向 AI Agent 优化的 Web 研究与监控能力。在 agno 中它们被统一封装在ParallelTools工具类中源码见 libs/agno/agno/tools/parallel.py按其延迟与适用场景可分为三类API速度适用场景Search1-5 秒快速查找、收集信源返回面向 LLM 优化的摘录Task10 秒 - 25 分钟深度研究支持结构化输出与引用citationsMonitor定时调度长期跟踪主题变化、检测新增信息从源码结构看三者分别对应不同的函数族见 parallel.pyenable_searchTrue默认注册parallel_searchenable_extractTrue默认注册parallel_extract后者可从指定 URL 提取干净 Markdown 内容支持 JavaScript 重页面与 PDFenable_taskTrue追加create_task、get_task_status、get_task_result三个函数构成提交任务 → 轮询状态 → 拉取结果的异步研究流程enable_monitorTrue追加create_monitor、get_monitor、update_monitor、list_monitors、get_monitor_events、cancel_monitor六个函数覆盖监控的创建、查询、修改、枚举、取事件与取消全生命周期。值得注意的是parallel_extract是独立于三表之外的第四项能力默认开启适合作为 Search 的补充用于深挖指定 URL 的完整内容。环境准备与最小接入安装与鉴权按 README.md 的 Setup 一节需要两条命令完成准备pip install parallel-web export PARALLEL_API_KEYyour-api-key其中parallel-web是官方 Python SDK。源码 parallel.py 显示ParallelTools构造时优先使用显式传入的api_key参数否则回退读取环境变量PARALLEL_API_KEY两者都缺失时仅打印错误日志PARALLEL_API_KEY not set...工具可继续构建但运行时 API 调用会失败。对应单元测试 test_parallel_tools.py 分别验证了两种取值路径。快速开始仓库 parallel_tools.py 给出了最精简的接入方式——默认即启用 Searchfrom agno.agent import Agent from agno.models.openai import OpenAIResponses from agno.tools.parallel import ParallelTools agent Agent( modelOpenAIResponses(idgpt-5.4), tools[ParallelTools()], )README 还给出了启用其余两套 API 的等价写法# Task API深度研究 agent Agent( modelOpenAIResponses(idgpt-5.4), tools[ParallelTools(enable_taskTrue)], ) # Monitor API定时监控 agent Agent( modelOpenAIResponses(idgpt-5.4), tools[ParallelTools(enable_monitorTrue)], )运行示例时直接python parallel_tools.py即可Agent 会在收到提问后自主调用工具完成检索并组织回答。测试 test_parallel_tools.py 证实默认只注册 2 个函数parallel_search、parallel_extractallTrue一次注册全部 11 个函数enable_task与enable_monitor互相独立、互不影响。Search API快速检索与信源过滤Search 适合时效性强、答案明确的任务例如查询最新新闻。它返回带 URL、标题、发布日期与摘录的 JSON 结果由 Agent 根据摘录综合成最终答案而带引用的深度研究则应交给 Task API。常用构造参数源码 parallel.py 的构造函数完整暴露了搜索相关的可调参数参数默认值说明max_results10单次搜索返回结果上限max_chars_per_result10000每条结果摘录的最大字符数modeNone实际使用advanced搜索模式可选turbo、basic、advancedinclude_domainsNone仅从指定域名集合返回结果exclude_domainsNone排除指定域名max_age_secondsNone缓存内容的时效上限最小值 600 秒disable_cache_fallbackNone是否禁用缓存兜底源码 parallel.py 显示这些参数会被组装进advanced_settings含excerpt_settings、source_policy、fetch_policy随请求发送给 Parallel SDK最终结果优先调用 SDK 的model_dump()完整序列化失败时再回退到手动格式化。场景化搜索配置仓库 news_search.py 展示了如何按领域定制搜索 Agent# 通用搜索 general_search ParallelTools(max_results10) # 科技新闻——限定信源 tech_search ParallelTools( include_domains[techcrunch.com, wired.com, arstechnica.com, theverge.com], max_results10, ) # 财经新闻——限定信源 finance_search ParallelTools( include_domains[reuters.com, bloomberg.com, wsj.com, ft.com], max_results10, ) # 快速查证——精简结果 quick_search ParallelTools( max_results5, max_chars_per_result300, )随后把这些工具分别挂到各自 Agent 上即可形成科技新闻专员财经新闻专员等专职 Agenttech_agent Agent( modelOpenAIResponses(idgpt-5.4), tools[tech_search], markdownTrue, instructionsYou search tech news for the latest developments in technology., )运行python news_search.py后Agent 会回答类似What are the latest developments in AI agents?的问题。建议给include_domains传入一级域名避免子域名遗漏导致召回下降。Task API深度研究引擎Task API 适合需要多源综合、长耗时10 秒到 25 分钟且对输出结构有要求的场景例如公司尽调、行业分析。它采用提交-拉取模型create_task()立即返回run_id不阻塞get_task_status()查询进度get_task_result()阻塞等待直到完成或达到超时上限结果中除了结构化内容还附带逐字段的basis依据与引用。处理器与超时参数默认值说明default_processorbaseTask 默认处理器pro级别分析更深Auto schema 强制要求 pro 及以上default_timeout1800拉取任务结果的最大等待秒数默认 30 分钟ultra级别深度研究建议上调至 36004 种输出 SchemaTask API 支持 4 种输出格式仓库 output_schemas.py 逐一演示。统一通过default_output_schema参数配置其取值形式源码 parallel.py 注释为裸字符串描述、{type: auto}、{type: json, json_schema: {...}}或{type: text}。1. Auto自动推断结构——适合探索性研究由 Parallel 自行决定输出结构注意要求pro及以上处理器auto_tools ParallelTools( enable_searchFalse, enable_extractFalse, enable_taskTrue, default_processorpro, # Auto schema 要求 pro default_output_schema{type: auto}, )2. JSON Schema强制字段——适合数据抽取与结构化入库可声明嵌套对象、数组与必填字段json_tools ParallelTools( enable_searchFalse, enable_extractFalse, enable_taskTrue, default_output_schema{ type: json, json_schema: { type: object, properties: { company_name: {type: string}, founding_year: {type: string}, total_funding: {type: string}, valuation: {type: string}, key_investors: {type: array, items: {type: string}}, }, required: [company_name], }, }, )3. String自然语言描述——比 JSON Schema 更简洁灵活用一句话描述期望输出string_tools ParallelTools( enable_searchFalse, enable_extractFalse, enable_taskTrue, default_output_schemaReturn the company name, founding year, total funding raised, current valuation, and list of major investors, )4. Text带引用的 Markdown 报告——适合长文研究报告Parallel 输出 Markdown 格式内容并内嵌引用text_tools ParallelTools( enable_searchFalse, enable_extractFalse, enable_taskTrue, default_output_schema{type: text}, )各示例中均以enable_searchFalse, enable_extractFalse显式关闭默认的 Search/Extract避免工具列表冗余对应测试 test_parallel_tools.py 验证了全关时注册函数数为 0。场景一CRM 公司记录增强company_enrichment.py 演示了用 Task API 为 CRM 记录补充融资、员工数、高管、近期新闻等信息。其 JSON Schema 定义了website、headquarters、employee_count、latest_round嵌套对象、key_investors数组、executives对象数组等字段并给出关键指令instructionsYou enrich company records with web data. Use create_task() to research a company, then get_task_result() to retrieve the data. Return the structured data for database insertion.运行python company_enrichment.py后输入 Enrich this company record: AnthropicAgent 会走完整任务链路返回符合 Schema 的 JSON可直接写入数据库。场景二行业分析报告market_research.py 演示了两类输出一是用{type: text}生成带引用的长文报告覆盖市场容量、增长、竞争格局、趋势与展望二是用 JSON Schema 输出结构化市场数据industry、market_size、growth_rate、key_trends、major_players、challenges、opportunities。前者适合分析师阅读后者适合后续程序化处理可按需二选一或并用。Monitor API定时监控与变化检测Monitor 按固定频率调度运行只检测新增信息每个事件event附带置信度分数与来源引用适合投融资跟踪、竞品动态、舆情监控等长期任务。监控参数与生命周期参数默认值说明default_monitor_frequency1d监控频率可选1h、1d、1w、30ddefault_monitor_processorlite监控处理器可选lite、base六个监控函数按职责分为create_monitor(query)创建事件流监控返回monitor_idget_monitor(id)/list_monitors()查看详情与列表update_monitor(id, frequency, query)修改频率或查询词已取消的不可更新源码 parallel.py 有明确注释get_monitor_events(id)拉取检测到的事件默认 20 条上限 100cancel_monitor(id)永久取消、不可撤销。场景一投资动态监控investment_monitor.py 构造了两档监控每日一次的融资跟踪1dbase覆盖大多数公告每小时一次的并购跟踪1hlite应对时效敏感的交易。Agent 指令中明确了可用动作与查询写法要点- create_monitor(query): Start tracking a topic - list_monitors(): See all active monitors - get_monitor_events(monitor_id): Get detected changes - get_monitor(monitor_id): Get monitor details - cancel_monitor(monitor_id): Stop tracking Use natural language queries like: AI startup Series A and B funding announcements NOT keyword searches like AI AND funding AND Series即监控查询应使用自然语言句子描述主题而不是搜索引擎式的关键词组合。场景二竞品追踪两阶段用法competitor_tracker.py 给出了 Monitor 的经典两阶段工作流python competitor_tracker.py # 阶段一创建监控 python competitor_tracker.py check # 阶段二拉取事件稍后重跑两个阶段之间需至少等待一个监控周期default_monitor_frequency让监控有时间运行并检测变化。阶段二会用get_monitor_events汇总新增竞品动态并标记战略级信号。该文件的指令还给出了监控查询的进阶技巧尽量具体写OpenAI product launches and API updates而不是OpenAI news带上主体上下文Anthropic (Claude AI) funding and partnerships聚焦可行动信号competitor pricing changes而不是competitor mentions。工具函数调用链与运行机制小结从源码 parallel.py 与测试 test_parallel_tools.py 可以梳理出三条清晰的调用链Search 链路Agent 调parallel_search(objective, search_queries, ...)→ 组装search_params含advanced_settings→parallel_client.search()→ 序列化为含search_id、resultstitle/url/publish_date/excerpts、usage的 JSON。测试断言未传objective与search_queries时会返回错误提示test_parallel_tools.py。Task 链路create_task(query)携带processor与task_spec.output_schema创建任务 →get_task_status(run_id)轮询 →get_task_result(run_id)阻塞等待并调用_format_task_output组装content 按字段组织的basis每项含confidence与citations。Monitor 链路create_monitor(query)以typeevent_stream创建 → 按频率后台执行 →get_monitor_events(monitor_id)返回事件列表每事件含content与basis引用→ 可随时update_monitor或cancel_monitor。全部函数均以 JSON 字符串返回结果异常时返回{error: ...}并记录错误日志保证 Agent 即使遇到 API 故障也能得到结构化反馈继续推理。从仓库继续深入本文所有示例均位于 cookbook/91_tools/parallel可直接对照源码研读parallel_tools.py最简接入与流式输出streamTrue, stream_eventsTruenews_search.pySearch 场景化信源过滤output_schemas.pyTask 的 4 种输出 Schema 全集company_enrichment.py 与 market_research.py结构化抽取与长文报告investment_monitor.py 与 competitor_tracker.pyMonitor 的调度频率与两阶段用法libs/agno/agno/tools/parallel.pyParallelTools完整源码含每个函数的参数与返回格式文档libs/agno/tests/unit/tools/test_parallel_tools.py初始化、搜索、任务与监控的单元测试是理解参数行为的最佳佐证。此外cookbook/91_tools/README.md 汇总了 agno 提供的全部工具示例cookbook/12_context 则展示了如何把 Parallel 检索结果与其他 Context ProviderSlack、Gmail、Google Drive 等组合成多源工作流。若需在 Notebook 或服务端复用示例请先按上文完成 SDK 安装与PARALLEL_API_KEY配置。【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考