Repolode
mlc-ai

mlc-ai/xgrammar

Biblioteca rápida y flexible para generar texto estructurado con LLM, limitando las salidas del modelo a JSON, expresiones regulares o gramáticas libres de contexto personalizadas.

Estrellas
1,967
Forks
241
Issues abiertos
130
Último commit
hace 3 días

¿Qué es?

XGrammar es una biblioteca de código abierto para generar texto estructurado con modelos de lenguaje grandes. Usa decodificación restringida para que el texto generado siga una estructura especificada, como JSON, una expresión regular o una gramática libre de contexto general. Esto resuelve el problema habitual de que las salidas de un LLM no se puedan analizar o no coincidan con el esquema esperado.

El proyecto busca reducir al mínimo la sobrecarga de la decodificación restringida y señala que la generación de JSON tiene una sobrecarga casi nula. Está diseñado para ser portátil en Linux, macOS y Windows, y funcionar en CPU, GPU de NVIDIA y AMD, Apple Silicon y TPU. Ofrece bindings para Python, C++, JavaScript y Swift.

XGrammar está pensado para integrarse en motores de inferencia. Está integrado en proyectos como vLLM, SGLang, TensorRT-LLM y MLC-LLM, y se puede instalar con pip.

Funciones clave

  • 01Limita las salidas a JSON, expresiones regulares o gramáticas libres de contexto personalizadas.
  • 02Busca una sobrecarga casi nula al generar JSON.
  • 03Funciona en Linux, macOS y Windows, y en CPU, GPU de NVIDIA y AMD, Apple Silicon y TPU.
  • 04Ofrece APIs para Python, C++, JavaScript y Swift.
  • 05Se puede instalar con pip e incluye un extra opcional de Metal para Apple Silicon.

Casos de uso

  • Obligar a un motor de servicio de LLM a devolver JSON válido para su análisis posterior.
  • Limitar las salidas del modelo a una expresión regular o gramática para llamadas a herramientas o argumentos de funciones.
  • Añadir compatibilidad con salidas estructuradas a una pila de inferencia de LLM personalizada.

Inicio rápido

  1. 1

    Instalar XGrammar desde PyPI

    pip install xgrammar
  2. 2

    Instalar con compatibilidad con Metal para Apple Silicon (opcional)

    pip install "xgrammar[metal]"
  3. 3

    Importar XGrammar en tu código Python

    import xgrammar as xgr

Antes de usarlo

  • La mayoría de los detalles de uso del README se encuentran en documentación externa, no en el propio README.

Temas

Preguntas frecuentes

¿Qué es xgrammar?
Biblioteca rápida y flexible para generar texto estructurado con LLM, limitando las salidas del modelo a JSON, expresiones regulares o gramáticas libres de contexto personalizadas. XGrammar es una biblioteca de código abierto para generar texto estructurado con modelos de lenguaje grandes. Usa decodificación restringida para que el texto generado siga una estructura especificada, como JSON, una expresión regular o una gramática libre de contexto general. Esto resuelve el problema habitual de que las salidas de un LLM no se puedan analizar o no coincidan con el esquema esperado.
¿xgrammar es gratuito? ¿Qué licencia tiene?
xgrammar es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿xgrammar sigue mantenido?
Mantenimiento activo. El último commit de xgrammar fue el 18 oct 2026.
¿Para qué puedo usar xgrammar?
Obligar a un motor de servicio de LLM a devolver JSON válido para su análisis posterior. Limitar las salidas del modelo a una expresión regular o gramática para llamadas a herramientas o argumentos de funciones. Añadir compatibilidad con salidas estructuradas a una pila de inferencia de LLM personalizada.
¿Cómo se instala xgrammar?
Instalar XGrammar desde PyPI: pip install xgrammar Instalar con compatibilidad con Metal para Apple Silicon (opcional): pip install "xgrammar[metal]" Importar XGrammar en tu código Python: import xgrammar as xgr
¿Dónde consigo xgrammar?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/mlc-ai/xgrammar

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados