ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

UltraRAG DeepResearch 实战:自动生成调查报告的 RAG 系统

UltraRAG DeepResearch 实战:自动生成调查报告的 RAG 系统 UltraRAG DeepResearch 实战自动生成调查报告的 RAG 系统【免费下载链接】UltraRAGA Low-Code MCP Framework for Building Complex and Innovative RAG Pipelines项目地址: https://gitcode.com/GitHub_Trending/ul/UltraRAG写竞品分析的时候你是不是也开过十几个网页标签页、从搜索结果里东拼西凑光列提纲就耗掉半天写到后面还忘了论据出处RAG 系统 UltraRAG 的 DeepResearch 流水线专门接管这件事你给出一个调研主题它先生成研究计划再逐节检索、填充内容最后产出一份调查报告。整条流水线用几十行 YAML 就能编排完配合 AgentCPM-Report 这类模型单次调研可以产出上万字的报告稿。 工作原理调查报告背后的流水线把 DeepResearch 想成一条装配线先把题目拆成章节大纲再对着每一个空着的章节发出查资料的请求把材料搬回来写掉一节如此往复直到整页写完最后由编辑汇总出终稿。拆开看是三类角色在传递数据。规划角色prompt.webnote_gen_plan负责把主题变成大纲。输入是你的调研问题输出是一份结构化 JSON 计划包含mainTitle和sections数组每个 section 带标题、写作重点和可选的细分点。填充角色这是流水线的主体跑在一个循环里。输入是大纲和当前页面内容router.webnote_check_page先找出第一个未填充的章节prompt.webnote_gen_subq针对它生成一条可直接用于检索的英文子问题retriever.retriever_search拿子问题去语料库取回段落prompt.webnote_fill_page依据检索到的段落加模型自身知识把这一节写完输出更新后的整页。循环上限 10 轮每轮填掉一节。收尾角色prompt.webnote_gen_answer输入写满的整页输出最终答案并约定用\boxed{}格式把结论框出来。上图是 UltraRAG 的 RAG 系统整体架构DeepResearch 用到的 Corpus、Retriever、Generator 等模块都以独立 MCP Server 的形式接入流水线只负责把它们按顺序串起来。️ 从零跑通四步搭好 DeepResearch 环境第 1 步装好运行环境。本地路线最短官方推荐用 uv 管依赖pip install uv0.12.0 git clone https://gitcode.com/GitHub_Trending/ul/UltraRAG cd UltraRAG uv sync --all-extras source .venv/bin/activate ultrarag run examples/experiments/sayhello.yaml最后一条是官方验证命令看到Hello, UltraRAG v3!说明环境没问题。不想碰 Python 环境的话用 Docker 也行拉取hdxin2002/ultrarag:v0.3.0-base-cpu镜像后起容器UI 会自动跑在 5050 端口。第 2 步准备语料数据。仓库data/目录自带两份文件。data/corpus_example.jsonl是示例语料data/sample_nq_10.jsonl是 10 条带参考答案的示例问题命令行模式下benchmark.get_data就从这里读题。检索端默认配置也指向这份示例语料即servers/retriever/parameter.yaml里的corpus_path。要跑真实调研换成自己的语料即可。第 3 步配置完整流水线。拿examples/demos/LightResearch.yaml做模板。它的servers段挂载了 benchmark、generation、retriever、prompt、router、custom 六个 MCP Serverpipeline段按数据流顺序列出每一步初始化检索器和生成器生成计划初始化页面进入循环填充最后收尾作答。循环部分长这样- loop: times: 10 steps: - branch: router: - router.webnote_check_pageexamples/experiments/webnote.yaml是研究版变体多接了 evaluation Server末尾追加custom.output_extract_from_boxed和evaluation.evaluate两步方便跑分。第 4 步启动服务。命令行直接ultrarag run examples/demos/LightResearch.yaml跑一遍流水线想要网页交互用 Docker 方式起容器后访问http://localhost:5050即可。 完整演示看它写一篇固态电池调研报告拿一个具体主题走一遍固态电池技术目前的产业化进展如何 建好会话、选好知识库把主题丢进对话框接下来你会依次看到四幕。第一幕是大纲落地。webnote_gen_plan跑完界面上出现报告骨架一个主标题加若干章节每章有标题和写作重点。这时你还没等来任何正文但报告长什么样心里已经有数了。第二幕是页面铺开。prompt.webnote_init_page把大纲展开成一页文档每个待写章节下挂着[To be filled]占位符你能直观看到哪些地方还是空的。第三幕是逐节填充。循环每轮只干一件事router.webnote_check_page定位第一个空章节webnote_gen_subq产出一条子问题检索器取回段落webnote_fill_page写完这一节并整页输出。演示版流水线里还挂了custom.assign_citation_ids_stateful给每段引用登记编号所以正文里出现论据时你能看到出处。报告是一节一节长出来的10 轮上限之内通常能填满整页。第四幕是汇总作答。全页写完后webnote_gen_answer通读整页给出框起来的最终结论。不满意哪一节怎么办直接在对话里指出来比如产业进展那节缺 2025 年的量产数据系统会带着你的反馈重新走填充流程想改写作风格就动 Prompt 模板重跑即可。整个过程你看到的是页面和文档而不是配置文件。这是 UltraRAG DeepResearch 的 Web 界面会话、知识库管理都从这里操作。 调优与排坑报告质量不达标时改哪里定制思路都遵循一个模式想改什么就去动对应的模板或参数文件。想改什么改哪个文件改完的效果报告整体结构和章节风格prompt/webnote_gen_report.jinja、prompt/webnote_fill_page.jinja报告骨架和各节写法按你的模板走模板注册在servers/prompt/parameter.yaml检索不准、召回偏题servers/retriever/parameter.yaml可换backendbm25、sentence_transformers、infinity、openai、litellm、改corpus_path和嵌入模型换个模型来写servers/generation/parameter.yaml生成端切换到你要的 LLM章节总填不完examples/demos/LightResearch.yaml的loop.times提高轮数上限给长大纲更多填充机会排查问题先看这三种常见现象现象报告末尾还留着[To be filled]。原因是循环撞上 10 轮上限而大纲章节比它多。解决精简计划里的 sections或调大loop.times。现象检索结果驴唇不对马嘴。原因通常是corpus_path还指着示例文件data/corpus_example.jsonl里面只有少量示范语料。解决构建自己的语料并更新servers/retriever/parameter.yaml。现象跑流水线报缺模块。原因是当初只装了核心依赖。解决补跑uv sync --all-extras再用examples/experiments/sayhello.yaml验证一遍。收尾DeepResearch 把拆题、查证、成稿这套调研动作固化成了可编排、可调试的 YAML 流水线你只需要提供语料和判断。想深入排查检索命中不稳或推理链跑偏的问题接着读docs/debug_rag_workflows_zh.md它按四层结构讲清了排查路径。【免费下载链接】UltraRAGA Low-Code MCP Framework for Building Complex and Innovative RAG Pipelines项目地址: https://gitcode.com/GitHub_Trending/ul/UltraRAG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表