ax-llm/ax
The pretty much "official" DSPy framework for Typescript
解决的问题
Ax 提供了一个统一的、语言无关的编程模型,用于构建 LLM 应用程序。它消除了手动提示工程的需要,允许开发者使用单一语义核心,在多种语言(TypeScript、Python、Java、C++、Go 和 Rust)中定义类型化、结构化的生成。
工作原理
Ax 使用「签名(Signatures)」来定义输入和输出为类型化的结构化数据。这些签名可以通过字符串 DSL、流畅构建器或 Standard Schema v1 验证器(如 Zod)定义。系统将这些定义编译为多种语言的原生库。它包含一个三阶段的代理管道(Distiller → Executor → Responder)和一个递归运行时(RLM),通过在沙箱会话中运行 JS 并使用检查点重放来管理长上下文,防止提示膨胀。
适用人群
需要在不同运行时栈上运行或集成到现有多语言环境中的稳健、类型安全的 LLM 代理和工作流的软件工程师。
主要亮点
- 多语言支持:单一核心可编译为 TypeScript、Python、Java、C++、Go 和 Rust。
- 类型化结构化生成:使用 Zod、Valibot 或自定义字符串 DSL 实现端到端类型安全。
- 高级代理架构:包含上下文预算、内存(向量/BM25)、技能(运行手册)以及用于工具执行的沙箱 JS 运行时。
- 供应商无关:通过部署配置轻松在 OpenAI、Anthropic、Gemini 等供应商之间切换,无需更改代码。
- AxFlow:类型安全、可链式调用的工作流运行器,可作为安全的 DAG 优化执行。
- 多模态与音频:原生支持图像、音频和实时语音流。
相关
- 项目
- Dispatch
- Dispatch
- 项目
- Dispatch