什么是 Pipeline?

在 UR-2.0 中,Pipeline 是你定义“推理任务如何执行”的流程脚本。它像一个“任务计划表”或“工作流蓝图”,用来明确告诉系统每一步该做什么、怎么做、做完后怎么走下一步。 你可以通过 Pipeline 组合不同模块(Server)中的功能(Tool),构建出一个完整、可复现、可控制的 RAG 推理流程。例如:
  • 加载数据 → 检索文档 → 构造 prompt → 调用大模型 → 评估结果;
  • 或者在多轮生成中,根据模型中间的表现决定是否重新检索或停止生成。
Pipeline 的核心作用是:让复杂的 RAG 流程结构清晰、灵活、模块化,并通过 YAML 配置实现零代码编排。

Pipeline 的构成要素

在 UR-2.0 中,Pipeline 是以 YAML 文件形式编写的流程配置,它由两个顶层结构组成:
  • servers:用于声明本流程中所使用的所有 MCP Server 模块。每个 Server 对应一个功能模块(如检索、生成等),键为模块名称,值为其在项目中的路径。
  • pipeline:定义任务执行流程,按步骤组织执行逻辑,支持串行(顺序执行)、循环(loop)与分支判断(branch)等控制结构。每一项表示一个执行步骤或流程控制节点。
/images/yaml.svgexamples/sayhello.yaml
# MCP Server
servers:
  sayhello: servers/sayhello

# MCP Client Pipeline
pipeline:
- sayhello.greet