a-agmon/rs-graph-llm
High-performance framework for building interactive workflow systems in Rust. Designed for complex workflows and multi-agent systems
它解决的问题
构建复杂的 AI 代理工作流通常意味着要同时处理多个 LLM 调用、分支逻辑、用户中断和进度保存。本项目提供了一个 Rust 原生框架,让开发者可以将有状态、可恢复的代理工作流设计为图——类似于 LangGraph,但具有 Rust 的性能和类型安全性。它开箱即用地处理任务编排、条件路由、人工介入暂停和会话持久化。
工作原理
核心思想是任务图。每个任务实现一个简单的 Task trait,通过 Context 对象读写共享状态,并返回一个 NextAction 告诉引擎下一步做什么(逐步继续、连续运行、等待输入、跳转到特定任务或结束)。GraphBuilder 组装任务和边,可选地基于上下文数据进行条件分支。会话存储工作流的状态,FlowRunner 加载会话、执行一步并保存回去——这允许工作流暂停、等待用户输入并在之后恢复,甚至跨进程重启。该框架与 Rig LLM 生态系统集成以进行聊天历史转换,并附带内存或 PostgreSQL 存储后端。
适用人群
构建需要结构化、可靠且可恢复的 LLM 驱动工作流的代理应用的开发者——例如对话服务、理赔处理流水线、推荐系统,或任何具有分支和人工审核的多步骤自动化。它适合希望比基于 Python 的替代方案获得类型安全和性能的 Rust 用户,以及欣赏受 LangGraph 启发的简洁 API 的用户。
亮点
- 有状态且可恢复:会话可以在任何任务处暂停、等待用户输入并在之后恢复,可选 PostgreSQL 持久化。
- 灵活的执行模型:在同一图中混合逐步交互控制和即发即弃的连续执行。
- 条件路由:基于上下文数据分支,例如根据 LLM 的情感分类进行路由。
- 人工介入支持:任务可以返回
WaitForInput将工作流暂停,直到人工响应。 - 并行扇出:在一个图节点内并发运行子任务并聚合其输出。
- 生产护栏:每个任务的超时、最大执行步骤限制和乐观锁以防止会话写入冲突。
- Rig 集成:将上下文中存储的聊天历史直接转换为 Rig 消息以用于 LLM 调用。
- 真实示例:一个完整的保险理赔服务,包含 LLM 分类、审批工作流和 HTTP API;以及一个 RAG 推荐服务。
相关
- 项目
- 项目
- 项目
- 项目
- 项目