Enlace afiliado. Joute recibe una comisión sin coste extra para ti. Nuestra opinión es independiente.
La curva de evolución aparece en la próxima actualización.

BAML en breve
BAML resuelve con elegancia el problema de las salidas LLM no estructuradas. Para los equipos que construyen aplicaciones LLM serias en Python o TypeScript, es un enfoque sólido.
- Precio30 €/mes
- CategoríaCode
- RecomendadoSí
Lo esencial en 20 segundos
- DSL open source para definir funciones LLM con tipos de salida estrictos
- Genera código Python y TypeScript type-safe desde las definiciones BAML
- Resiliencia ante salidas LLM malformadas con parsers robustos
- Precio: gratuito open source + 30 €/mes para las features cloud
Veredicto: BAML es el enfoque más elegante para funciones LLM type-safe. Imprescindible si construyes pipelines LLM en producción.
Qué es BAML
BAML (Boundary AI Markup Language) es un DSL diseñado por Boundary ML para definir funciones que llaman a LLM con tipos de retorno garantizados. Defines una función, sus inputs tipados, sus outputs tipados, y el prompt asociado. BAML genera el código Python o TypeScript correspondiente con parsers robustos.
El problema que resuelve: los LLM devuelven texto libre. BAML fuerza la estructura y gestiona los casos en que el modelo no sigue exactamente el formato solicitado.
Puntos fuertes
Type-safety de las salidas LLM
El núcleo de BAML: declaras output class AnalysisResult { sentiment: "positive" | "negative" | "neutral"; confidence: float; reasoning: string; } y BAML garantiza que obtienes exactamente ese tipo en la salida, aunque el LLM cometa un error de formato.
Parser resiliente
BAML no hace un simple JSON parsing. Su parser entiende salidas parcialmente malformadas y las corrige. Robustez en producción superior a un json.loads() naïf.
Multi-LLM y multi-providers
OpenAI, Anthropic, Google, Ollama, Azure OpenAI. Cambias de provider en una línea en la config BAML.
Límites
Nuevo lenguaje que aprender
BAML añade un DSL a tu stack. El archivo .baml es claro, pero sigue siendo una capa adicional con su propia sintaxis.
Comunidad todavía pequeña
Frente a LangChain o Instructor, la comunidad BAML es más reducida. Los recursos online son menos numerosos.
Precio
- Core (OSS): gratuito, Python y TypeScript codegen
- BAML Cloud: 30 €/mes, observabilidad, logs, tests compartidos
Alternativas
- Instructor para structured output en Python con Pydantic
- Outlines para structured generation de bajo nivel
- LangChain para un enfoque más generalista
Veredicto
BAML es la herramienta que buscas cuando estás harto de los try: json.loads(response) except: ... en producción. El enfoque DSL puede asustar al principio, pero la seguridad de tipos que aporta vale ampliamente la pena para aplicaciones serias.
FAQ
¿BAML reemplaza a LangChain?
No. BAML está focalizado en la definición de funciones LLM type-safe. LangChain cubre un perímetro mucho más amplio (agentes, RAG, memoria). Los dos pueden coexistir.
¿BAML genera código React o Vue?
No. BAML apunta al código backend Python y TypeScript.
¿Se puede usar BAML con modelos locales?
Sí. Ollama está soportado como provider. Puedes ejecutar BAML completamente en local.
¿BAML vs Pydantic + Instructor: ¿qué diferencia hay?
Instructor es una librería Python pura. BAML es un DSL con generación de código. BAML aporta más claridad sobre los prompts y los tipos al separarlos del código Python. Instructor es más familiar para quien ya conoce Pydantic.
BAML open source es gratuito. Joute puede percibir una comisión sobre los planes cloud. Más información sobre nuestra política de afiliación.
Capturas BAML
7






BAML.
BAML resuelve con elegancia el problema de las salidas LLM no estructuradas. Para los equipos que construyen aplicaciones LLM serias en Python o TypeScript, es un enfoque sólido..
Prueba BAML tú mismo
Hay una prueba gratuita disponible. Calcula treinta minutos para formar tu propia opinión.
Enlace afiliado. Joute recibe una comisión sin coste extra para ti. Nuestra opinión es independiente.
BAML
30 €/mes
