ainl-rust 是做什么的?
「第二大脑」(Karpathy 风格)图规范语言,用于确定性的多步骤 AI 工作流
概述
ainl-rust 是一种受 Andrej Karpathy 理念启发的图规范语言及运行时。它将 AI 工作流建模为有向无环图,每个节点代表一个确定的步骤(例如提示词调用、数据转换、条件判断),边则定义了步骤之间的依赖与数据流向。这种设计使得原本难以预测的多步骤 LLM 调用变得结构化、可测试且可重复执行。
核心特性
- 图规范(Graph Canonical):工作流被定义为一个图,节点是原子操作,边是数据依赖。
- 确定性执行:通过显式的步骤编排与暂停机制,避免非预期的行为。
- 多步骤工作流:支持复杂的条件分支、循环与并行执行。
- Rust 原生:提供高性能的 Rust 实现,可与现有 Rust 项目无缝集成。
使用方法
安装
通过 Cargo 安装:
cargo install ainl
定义工作流
创建一个 .ainl 文件:
nodes:
- id: extract_text
type: prompt
system: "你是一个文档提取助手。"
prompt: "从以下文本中提取关键信息:{{input}}"
- id: summarize
type: prompt
depends_on: [extract_text]
system: "你是总结专家。"
prompt: "根据提取的内容:{{extract_text.output}},生成一段摘要。"
- id: classify
type: branch
depends_on: [summarize]
condition: "{{summarize.output.length > 200}}"
branches:
short: "..."
long: "..."
运行工作流
ainl run my_workflow.ainl --input "长篇文章内容..."
原理
- 解析
.ainl文件,构建有向无环图。 - 根据依赖拓扑顺序,依次执行节点。
- 每个节点执行时可访问之前节点的输出。
- 支持条件跳转与循环,直到所有路径执行完毕。
环境变量
AINL_OPENAI_API_KEY:OpenAI API 密钥。AINL_MODEL:默认使用的模型(例如gpt-4)。AINL_LOG_LEVEL:日志级别(info/debug/error)。
许可证
MIT License