通义深度研究
面向长链路网络检索、资料分析与研究问答的开源模型及推理系统。
README 明示了搜索、网页读取、页面摘要、文件解析、模型服务和 Python 沙箱等外部组件,并说明 .env 已被 gitignore;论文、项目沿革、团队和联系人也提供了一定来源归属。扣分在于未展示工具权限最小化、逐项用户确认、完整数据流、密钥保护机制、外部请求范围、依赖审计或撤销与回滚设计。固定版本只能提高依赖可追溯性,不能证明其安全。发布者身份按要求视为未知,但不据此作负面推断。
README 对模型、用途、两种推理范式、配置项和启动流程的描述基本一致,依赖也被完整固定版本,常用外部服务及本地部署路径均有说明。扣分在于外部 API、模型权重、GPU/CUDA 和沙箱服务形成较长可用性链条;故障说明主要限于在线演示可能受模型延迟和工具 QPS 影响,未见结构化错误、重试边界或诊断指南。
目标场景被清楚限定为长程深度信息检索,并覆盖网页搜索、文件问答、基准评测、本地部署和托管 API;ReAct 与 Heavy 两种范式及所需配置也提供了一定边界。扣分在于没有展示细粒度工具启用策略、任务触发规则或面向不同风险场景的配置档;环境主要围绕 Python 3.10、CUDA 12、重量级模型和多项云端服务,适配面并不广泛。
README 的介绍、功能、下载、安装、配置、数据格式、运行、评测、FAQ、联系和引用结构清晰;安装说明尤其具体,Apache-2.0 全文完整。扣分在于 FAQ 内容未随材料提供,已知限制仅简短提及在线演示延迟/QPS,新闻只有少数发布日期而非正式变更日志或语义版本,名称在 DeepResearch、Tongyi DeepResearch、WebAgent 和不同推理范式之间需要读者自行区分。维护联系人明确,但发布者未获企业注册验证且未见支持承诺或维护政策。
材料展示了可直接用于 JSON/JSONL 问题集、文档处理和基准评测的流程,输出目录可配置;相对于普通模型调用,网页搜索、文件解析、长程研究和两种推理范式体现了增量价值。扣分在于输出结构、引用格式、质量控制和实际结果样例未展示;30B 模型、GPU/CUDA 栈、多个付费或配额型 API 与沙箱服务带来明显成本,但没有资源预算、延迟、吞吐或费用比较。
主要能力和性能主张指向技术报告、博客、模型页面、基准名称及评测目录,研究家族也列出了具体论文,具备一定追溯入口。扣分在于提供的材料没有论文正文、评测脚本内容、原始结果或可核对的数值表,README 中的领先和 SOTA 表述主要由项目自身材料支撑;事实、宣传性结论与推断没有被系统标注区分。
- 运行前应审查实际代码中的网络出口、工具权限和 Python 沙箱隔离;README 不能证明这些控制已实现。
- 将问题、网页内容或上传文档发送给 Serper、Jina、OpenAI 兼容服务、Dashscope 或其他端点前,应确认数据分类、保留政策和合规要求。
- 不要仅凭固定版本认为依赖安全;该依赖集庞大且包含 CUDA、模型服务、文档解析、云 SDK 和网络组件,需要独立漏洞与供应链审计。
- 领先和 SOTA 主张在本次静态材料中缺少原始结果及独立复核,不应直接用于采购或生产决策。
- 本地部署可能需要大量 GPU、存储和外部 API 配额;应先核算成本、延迟、限流和故障降级方案。
这个 Agent 能做什么,适合哪些场景?
通义深度研究是通义实验室开发的长链路信息检索模型与代理推理项目,模型共有305亿参数,每个 token 激活33亿参数,并提供128K上下文长度。仓库包含 inference 推理脚本、ReAct 执行路径、基于 IterResearch 的 Heavy 模式,以及面向多个数据集的 evaluation 评测脚本。运行时可调用 Serper.dev 搜索与 Google Scholar、Jina 网页读取、OpenAI 兼容的页面摘要接口、DashScope 文件解析服务和 SandboxFusion Python 沙箱。输入是带有 question 和 answer 字段的 JSON 或 JSONL 数据;系统生成回答,并以 answer 中的参考答案进行自动质量评判。它适合愿意部署模型、配置多项外部服务并自行管理评测流程的研究或工程团队,而不是无需环境配置即可嵌入任意聊天平台的成品应用。
用户通过 DATASET 指定 JSON/JSONL 问题集,并在 MODEL_PATH、OUTPUT_PATH 及相关 API 环境变量中配置模型、输出目录和工具服务。运行 bash run_react_infer.sh 后,inference/react_agent.py 驱动 ReAct 推理,按启用情况调用检索、网页搜索、计算器、网页读取、文件解析或 Python 沙箱,并把预测结果写入 OUTPUT_PATH。对于文档问题,文件需放入 eval_data/file_corpus/,同时在 question 开头加入上传文件名。evaluation/ 下的脚本用于在所支持的基准数据集上评估生成结果;answer 字段是评判时使用的真实或参考答案。除本地模型权重外,也可修改 inference/react_agent.py 的 call_server、模型名和内容拼接方式,通过 OpenRouter 调用 alibaba/tongyi-deepresearch-30b-a3b。
- 搜索代理研究团队需要在 Humanity's Last Exam、BrowseComp、BrowseComp-ZH、WebWalkerQA、xbench-DeepSearch、FRAMES 或 SimpleQA 等基准上运行和评估长链路检索模型。
- 企业研究人员拥有一批 JSONL 格式的问题与参考答案,希望批量执行网络研究并保存预测结果供自动评判。
- 分析团队需要针对 PDF 或 XLSX 等本地资料提问,并愿意将文件放入 eval_data/file_corpus/、配置 DashScope 文件解析服务。
- 模型工程团队希望比较 ReAct 与基于 IterResearch 的 Heavy 推理范式,考察测试时扩展带来的效果差异。
- 没有本地 GPU 的开发者愿意修改 inference/react_agent.py,并通过 OpenRouter API 调用已托管的 Tongyi-DeepResearch 模型。
这个 Agent 有哪些优点和局限?
- 30B-A3B 混合专家配置每个 token 仅激活33亿参数,同时提供128K上下文,明确面向长链路信息检索。
- 同时提供 ReAct 和基于 IterResearch 的 Heavy 两种推理范式,可分别考察模型内在能力和测试时扩展上限。
- 仓库提供可运行的推理、结构化 JSON/JSONL 输入和基准评测流程,而不只是模型权重。
- 工具链覆盖网页搜索、Google Scholar、网页读取、文件解析和 Python 沙箱,能组合执行多步骤研究任务。
- 既支持本地权重路径,也记录了无本地 GPU 时通过 OpenRouter 调用模型的办法。
- 完整工具链依赖多个外部提供方及独立凭据,包括 Serper.dev、Jina、OpenAI 兼容接口、DashScope 和 SandboxFusion,部署与费用需要分别管理。
- 推荐环境固定为 Python 3.10.0,README 警告其他版本可能出现依赖问题。
- OpenRouter 路径不是开箱即用的适配器;用户必须手动修改 inference/react_agent.py 的服务器调用、模型名和内容拼接逻辑。
- 在线演示可能因模型延迟和工具 QPS 限制而响应缓慢或间歇性失败,稳定使用需要本地部署或百炼服务。
- 文档只说明将结果保存到 OUTPUT_PATH,未给出面向终端用户的稳定 Web API、权限模型或生产运维方案。
如何安装或部署这个 Agent?
建议使用 Python 3.10.0 并建立隔离环境:
conda create -n react_infer_env python=3.10.0
conda activate react_infer_env
pip install -r requirements.txt
cp .env.example .env随后编辑 .env。按实际启用的能力配置 SERPER_KEY_ID、JINA_API_KEYS、API_KEY/API_BASE、DASHSCOPE_API_KEY、SANDBOX_FUSION_ENDPOINT,并设置 MODEL_PATH、DATASET 和 OUTPUT_PATH。SERPER_KEY_ID 用于网页搜索和 Google Scholar,JINA_API_KEYS 用于读取网页,API_KEY/API_BASE 指向页面摘要所需的 OpenAI 兼容接口,DASHSCOPE_API_KEY 用于文件解析,SANDBOX_FUSION_ENDPOINT 指向 Python 沙箱。README 说明 .env 已被 git 忽略。
如何使用这个 Agent?
创建 JSONL 文件,例如每行包含 {"question":"What is the capital of France?","answer":"Paris"};也可使用由同类对象组成的 JSON 数组。编辑 run_react_infer.sh,将 MODEL_PATH 设为模型权重路径,将 DATASET 设为数据文件完整路径,将 OUTPUT_PATH 设为结果目录,并为启用的工具填写相应密钥或 BASE_URL。然后执行:
bash run_react_infer.sh若处理文件,把文件放入 eval_data/file_corpus/,并将 question 写成类似“(Uploaded 1 file: ['report.pdf'])\n\nWhat are the key findings?”。若改用 OpenRouter,则需在 inference/react_agent.py 的 call_server 中填写 OpenRouter API 密钥和 URL,把模型名改为 alibaba/tongyi-deepresearch-30b-a3b,并按代码注释调整第88至90行所述的内容拼接方式。
这个 Agent 与同类方案有什么区别?
ReAct 模式用于更严格地评估模型自身的核心能力;基于 IterResearch 的 Heavy 模式通过测试时扩展追求更高性能上限。交付方式上,本地部署更适合需要稳定性和自主管理模型的团队;ModelScope 与 Hugging Face 在线演示适合快速体验但可能受延迟和 QPS 影响;百炼定位为生产服务;OpenRouter 可免去本地 GPU,但需要修改 inference/react_agent.py。