BAML

活跃
GitHub Rust Apache-2.0

简介

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 插件实时测试提示。

相关项目

PostHog

37.7k · Python
活跃 B

PostHog 是面向 AI Agent 与自驱动产品的全栈可观测平台,集成分析、会话回放、特性开关与错误追踪。

analyticssession-replayfeature-flags +3
  • · AI 可观测性 — 专门为 AI Agent 设计的 trace、token 用量与诊断面板
  • · 会话回放 — 记录 Agent 执行的完整事件流,支持重放与调试
  • · 特性开关与实验 — A/B 实验与渐进式发布,与 Agent 行为联动