BAML
活跃简介
BAML 是一个 AI 提示工程框架,通过类型安全的提示定义、自动测试、版本管理和多模型支持,将工程化实践引入 LLM 提示开发流程。
核心特性
- 类型安全的提示定义语言,将提示工程转化为模式工程
- 内置 IDE 插件(VS Code / JetBrains),支持实时测试提示迭代
- SAP(Schema-Aligned Parsing)算法,即使模型不支持原生 tool-calling 也能实现可靠结构化输出
- 支持 100+ 模型(OpenAI、Anthropic、Gemini、Vertex、Bedrock 等),一行切换
- 全类型安全的流式输出,支持 React hooks 构建 Streaming UI
- 完全离线运行,100% 开源(Apache 2.0),无需网络即可开发
适用场景
💡 构建需要可靠结构化输出的 AI 工作流和 Agent
💡 快速迭代测试不同 LLM 模型的提示效果
💡 在多语言项目中统一管理 LLM 提示和调用
💡 为不支持 tool-calling 的模型启用结构化输出
💡 构建生产级流式 AI 应用界面
优势与不足
✅ 优势
- • 活跃维护,近期持续更新
- • 社区热度高(9.0k stars)
- • 开源许可证友好(Apache-2.0)
- • 项目有一定历史沉淀(已维护 2 年)
分类
快速开始
安装:pip install baml-py。在 .baml 文件中定义 function 签名和 prompt,指定 client 和 output 类型。运行 baml-cli generate 生成类型安全的客户端。在 Python/TS/Go/Ruby 中 import baml_client 调用 BAML 函数。使用 IDE 插件实时测试提示。