BAML is an open-source framework and domain-specific language designed to bring structured engineering practices to prompt development for large language model applications. Instead of treating prompts as unstructured text, BAML introduces a schema-driven approach where prompts are defined as typed functions with explicit inputs and outputs. This design allows developers to treat language model interactions as predictable software components rather than ad-hoc prompt strings. The framework enables developers to define prompt logic in a dedicated language while integrating it into applications written in various programming languages such as Python, TypeScript, Ruby, and Go. BAML also allows developers to specify which models are used for each prompt and how outputs should be validated or structured. By converting prompt engineering into a more formal programming workflow, the framework improves reliability, debugging, and maintainability of AI systems.
Features
- Schema-driven prompting language for building reliable AI workflows
- Prompt functions with typed inputs and outputs
- Integration with multiple programming languages and development stacks
- Support for defining model selection and prompt behavior
- Structured output validation and data modeling
- Tools for building AI agents and complex LLM pipelines