Biblioteca de Python para ejecutar evaluaciones y guardrails en agentes con modelos de decisión Jev alojados o locales, enviando todas las comprobaciones de un trace en una sola solicitud.
BoundaryML/baml
BAML es un lenguaje de programación para crear agentes de IA, con funciones tipadas, un compilador basado en Rust y compatibilidad con TypeScript, Python, Go y otros lenguajes.
- Estrellas
- 9,486
- Forks
- 514
- Issues abiertos
- 366
- Último commit
- hace 19 horas
¿Qué es?
BAML es un lenguaje de programación pensado para crear agentes. Su sintaxis se parece a TypeScript y añade un sistema de tipos que se conserva en tiempo de ejecución, errores tipados y analizados estáticamente, y una organización de módulos basada en el sistema de archivos. Su objetivo es reducir los errores que cometen los agentes al generar o procesar datos estructurados.
El lenguaje incluye un framework integrado de pruebas y evaluación, una biblioteca estándar para tareas de agentes y concurrencia al estilo de los green threads. El compilador está escrito en Rust. BAML puede ejecutarse de forma independiente o adoptarse de manera gradual mediante llamadas a funciones de BAML desde bases de código existentes en TypeScript, Python, Go, C#, Java y otros lenguajes.
El proyecto ofrece una CLI con comandos para instalar las herramientas para agentes, inicializar un proyecto e instalar una extensión para IDE. También se puede instalar mediante Homebrew.
Funciones clave
- 01Funciones tipadas y errores comprobados estáticamente
- 02Tipos conservados en tiempo de ejecución, sin necesidad de convertirlos a any
- 03Framework integrado de pruebas y evaluación
- 04Biblioteca estándar para tareas de agentes
- 05Se puede llamar desde TypeScript, Python, Go, C#, Java y otros lenguajes
Casos de uso
- Definir salidas estructuradas de LLM con esquemas tipados
- Añadir funciones de BAML a una base de código existente en TypeScript o Python
- Escribir y ejecutar evals para el comportamiento de agentes
- Crear nuevas aplicaciones de agentes en un lenguaje dedicado
Inicio rápido
- 1
Instalar BAML con Homebrew
brew install baml - 2
Instalar la integración del agente
baml agent install - 3
Inicializar un nuevo proyecto de BAML
baml init - 4
Instalar la extensión del IDE para VS Code
baml ide install --code
Antes de usarlo
- El README no documenta cómo instalarlo en Windows, por lo que no queda claro si es compatible con esta plataforma.
- La configuración requiere varios pasos desde la CLI, y el README remite a una guía de inicio rápido externa para obtener más detalles.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es baml?
- BAML es un lenguaje de programación para crear agentes de IA, con funciones tipadas, un compilador basado en Rust y compatibilidad con TypeScript, Python, Go y otros lenguajes. BAML es un lenguaje de programación pensado para crear agentes. Su sintaxis se parece a TypeScript y añade un sistema de tipos que se conserva en tiempo de ejecución, errores tipados y analizados estáticamente, y una organización de módulos basada en el sistema de archivos. Su objetivo es reducir los errores que cometen los agentes al generar o procesar datos estructurados.
- ¿baml es gratuito? ¿Qué licencia tiene?
- baml es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿baml sigue mantenido?
- Mantenimiento activo. El último commit de baml fue el 6 nov 2026.
- ¿Para qué puedo usar baml?
- Definir salidas estructuradas de LLM con esquemas tipados Añadir funciones de BAML a una base de código existente en TypeScript o Python Escribir y ejecutar evals para el comportamiento de agentes Crear nuevas aplicaciones de agentes en un lenguaje dedicado
- ¿Cómo se instala baml?
- Instalar BAML con Homebrew: brew install baml Instalar la integración del agente: baml agent install Inicializar un nuevo proyecto de BAML: baml init Instalar la extensión del IDE para VS Code: baml ide install --code
- ¿Dónde consigo baml?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/BoundaryML/baml
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework de Python que añade controles de entrada y salida a aplicaciones con LLM y genera datos estructurados validados a partir de sus respuestas.
Lenguaje de programación con tipos estáticos y calculadora para cálculos científicos, con dimensiones físicas y unidades integradas.
Lenguaje con tipos robustos de la familia ML que compila a JavaScript rápido y legible, genera tipos de TypeScript y facilita la interoperabilidad con JavaScript.
Un lenguaje de programación compilado experimental, diseñado para código generado por IA que revisan personas, con sintaxis explícita, sin recolector de basura y con compilación a C.
Framework de TypeScript para crear agentes de IA y aplicaciones basadas en LLM, con workflows, herramientas, memoria, servidores MCP y evals.