rp-engine基础节点实战:用start、generate、response三件套写出第一个LLM工作流
【免费下载链接】rp-engineYAML-native agent workflow execution engine, written in Rust项目地址https://gitcode.com/gh_mirrors/rp/rp-engine点击查看免费下载想用rp-engine快速搭建一个LLM 工作流却不知从哪下手别急。rp-engine 是一个用 Rust 编写的、YAML 原生的 Agent 工作流执行引擎你用一份 YAML 描述节点和连线它就替你完成 LLM 调用、数据查询和流程编排。本文带你用start、generate、response三个基础节点10 分钟写出第一个能跑的 LLM 工作流。为什么先从这三个节点开始任何一个 rp-engine 工作流最少都由两类节点组成节点类型作用记忆口诀start工作流入口接收外部输入一个工作流有且只有一个startgenerate调用大模型LLM真正干活的核心工作流的大脑response工作流出口整理最终输出有 start 就必须有 response把输入喂给模型、再把模型的回答吐出来——这就是最经典的线性工作流。官方规范在 docs/FLOW_SPEC.md 中有完整定义仓库里也自带了一个最小可运行示例 tests/fixtures/linear.yaml可以作为你的第一份参考 YAML。第一个工作流完整 YAML 拆解下面这份三节点工作流用户传入一个query交给大模型回答最后输出answer。version: 0.1 name: Linear Flow nodes: - id: start type: start config: output: query: input.query - id: think type: generate config: provider: qwen model: qwen-flash template: tpl_think variables: query: start.query - id: response type: response config: output: answer: think.answer edges: - from: start to: think - from: think to: response templates: tpl_think: user_prompt: 请用一句话回答{{query}} config: temperature: 0.7 max_tokens: 100 output_schema: - name: answer type: string逐段来看1️⃣ start 节点输入从这里进来- id: start type: start config: output: query: input.queryconfig.output把外部输入字段重命名/挑选后暴露给下游input.query表示读取工作流输入的query字段。省略output时所有输入字段会原样透传。每个 key 都会变成下游可引用的字段比如这里的start.query。2️⃣ generate 节点调用大模型的核心- id: think type: generate config: provider: qwen # 提供商openai、anthropic、qwen、deepseek 等 model: qwen-flash # 具体模型 template: tpl_think # 提示词模板 ID variables: query: start.query三个必填项provider提供商、model模型、template模板。变量绑定query: start.query的含义是把上游 start 节点的query输出注入模板里的{{query}}占位符。模板部分还能做两件很实用的事采样参数temperature、max_tokens等在templates.tpl_think.config中配置结构化输出声明output_schema后引擎会强制模型返回 JSON并把字段挂到节点输出上——所以下游才能用think.answer精确取到答案字段而不用写正则去解析文本。3️⃣ response 节点输出从这里出去- id: response type: response config: output: answer: think.answerresponse节点把指定状态映射为工作流的最终结果ExecutionResult.output。调用方拿到的 JSON 里answer就是模型的回复。4️⃣ edges节点如何连线edges: - from: start to: think - from: think to: responseedges只负责执行顺序依赖节点间的数据传递靠的是变量引用节点ID.字段名而不是连线。理解了这一点你就理解了 rp-engine 80% 的玩法。如何运行这个工作流rp-engine 是 Rust 库两种方式跑起来方式一用自带的 demo runner最省事cargo run --example run_demo -- your.yaml {query: 什么是人工智能} result.jsonexamples/run_demo.rs 会自动读取环境变量中的 API Key如QWEN_API_KEY、OPENAI_API_KEY执行工作流并把完整的ExecutionResultJSON 写到磁盘。方式二在 Rust 代码中嵌入let engine Engine::builder().build()?; let result engine.run_yaml(yaml, json!({ query: 什么是人工智能 })).await?;依赖声明一行即可riceprompt-engine 0.1见 Cargo.toml 与 README.md 的 Quick start 章节。三个最容易踩的坑变量引用写成start.query不是{{start.query}}—— 带.的字符串被当作状态路径读取不带.的如2、true会被解析为字面量常量。下游取字段名要对应output_schema—— 声明了output_schema后要用think.answer没声明时只能用think.text取整段文本。节点 ID 就是命名空间—— 引用格式永远是节点ID.字段名ID 起错了整条链路都会引用失败。下一步把三件套扩展成多 Agent 应用掌握线性流程后按需加节点即可transformRhai 脚本做数据加工iterator/supervisor循环处理数据、多 Agent 规划执行data_connector连接 PostgreSQL、MySQL、Redis、Qdrant、S3 等harness给整个工作流注入全局规则类似 CLAUDE.md 的工作流级指令。更多示例可参考 tests/fixtures/ 下的 parallel.yaml、conditional.yaml 等真实工作流节点源码分别位于 src/nodes/start.rs、src/nodes/generate.rs、src/nodes/response.rs官方规范见 docs/FLOW_SPEC.md。小结start 接输入、generate 调模型、response 出结果——rp-engine 的基础节点三件套就是所有 LLM 工作流的骨架。现在打开一份 YAML写出属于你自己的第一个工作流吧 赞分享【免费下载链接】rp-engineYAML-native agent workflow execution engine, written in Rust项目地址https://gitcode.com/gh_mirrors/rp/rp-engine点击查看免费下载相关推荐MediaPipeUnityPlugin 零基础实战用 C 与 CalculatorGraph 写出第一个 Hello WorldMediaPipeUnityPlugin 零基础实战用 C 与 CalculatorGraph 写出第一个 Hello World 本指南以 MediaPip人工智能计算机视觉机器学习深度学习bpftrace语言基础探测点、谓词与动作块写出你的第一个追踪脚本bpftrace语言基础探测点、谓词与动作块写出你的第一个追踪脚本 bpftrace 是 Linux 平台上的高层 eBPF 追踪语言与工具只需几行脚本就可观测性性能剖析eBPFInfinite Canvas 画布节点插件开发实战基于 TypeScript SDK 模板从零编写第一个自定义节点Infinite Canvas 画布节点插件开发实战基于 TypeScript SDK 模板从零编写第一个自定义节点 本文围绕 Infinite CanvAI 应用媒体生成前端AI AgentAI 技能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考