Biblioteca Python que restringe as saídas de LLMs durante a geração para corresponderem a um tipo, regex, JSON schema ou gramática especificados.
mlc-ai/xgrammar
Biblioteca rápida e flexível para geração estruturada com LLMs, que restringe as saídas do modelo a JSON, regex ou gramáticas livres de contexto personalizadas.
- Estrelas
- 1,967
- Forks
- 241
- Issues abertas
- 130
- Último commit
- há 3 dias
O que é?
XGrammar é uma biblioteca open source para geração estruturada com modelos de linguagem grandes. Ela usa decodificação restrita para que a saída gerada siga uma estrutura especificada, como JSON, uma expressão regular ou uma gramática livre de contexto genérica. Isso resolve o problema comum de as saídas de LLMs não serem analisáveis ou não corresponderem ao esquema esperado.
O projeto busca manter baixo o overhead da decodificação restrita e relata overhead praticamente zero para geração de JSON. Ele foi projetado para ser portátil em Linux, macOS e Windows, além de funcionar em CPU, GPUs NVIDIA e AMD, Apple Silicon e TPUs. Há bindings para Python, C++, JavaScript e Swift.
XGrammar foi criado para ser integrado a mecanismos de inferência. Ele já está integrado a projetos como vLLM, SGLang, TensorRT-LLM e MLC-LLM, e pode ser instalado com pip.
Recursos principais
- 01Restringe as saídas a JSON, regex ou gramáticas livres de contexto personalizadas.
- 02Busca oferecer overhead praticamente zero para geração de JSON.
- 03Funciona em Linux, macOS e Windows, em CPU, NVIDIA, AMD, Apple Silicon e TPU.
- 04Oferece APIs para Python, C++, JavaScript e Swift.
- 05Pode ser instalado com pip e inclui uma opção extra de Metal para Apple Silicon.
Casos de uso
- Forçar um mecanismo de serving de LLM a retornar JSON válido para processamento posterior.
- Restringir a saída do modelo a uma regex ou gramática para chamadas de ferramentas ou argumentos de funções.
- Adicionar suporte a saídas estruturadas a uma stack personalizada de inferência de LLMs.
Início rápido
- 1
Instalar o XGrammar pelo PyPI
pip install xgrammar - 2
Instalar com suporte a Metal para Apple Silicon (opcional)
pip install "xgrammar[metal]" - 3
Importar o XGrammar no seu código Python
import xgrammar as xgr
Antes de usar
- A maioria dos detalhes de uso do README está em documentação externa, não no próprio README.
Tópicos
Perguntas frequentes
- O que é xgrammar?
- Biblioteca rápida e flexível para geração estruturada com LLMs, que restringe as saídas do modelo a JSON, regex ou gramáticas livres de contexto personalizadas. XGrammar é uma biblioteca open source para geração estruturada com modelos de linguagem grandes. Ela usa decodificação restrita para que a saída gerada siga uma estrutura especificada, como JSON, uma expressão regular ou uma gramática livre de contexto genérica. Isso resolve o problema comum de as saídas de LLMs não serem analisáveis ou não corresponderem ao esquema esperado.
- xgrammar é gratuito? Qual é a licença?
- xgrammar é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- xgrammar ainda é mantido?
- Manutenção ativa. O último commit de xgrammar foi em 18 de out. de 2026.
- Para que posso usar xgrammar?
- Forçar um mecanismo de serving de LLM a retornar JSON válido para processamento posterior. Restringir a saída do modelo a uma regex ou gramática para chamadas de ferramentas ou argumentos de funções. Adicionar suporte a saídas estruturadas a uma stack personalizada de inferência de LLMs.
- Como instalar xgrammar?
- Instalar o XGrammar pelo PyPI: pip install xgrammar Instalar com suporte a Metal para Apple Silicon (opcional): pip install "xgrammar[metal]" Importar o XGrammar no seu código Python: import xgrammar as xgr
- Onde consigo xgrammar?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mlc-ai/xgrammar
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ray é um framework unificado para escalar aplicações Python e de IA, do laptop ao cluster, com runtime distribuído e bibliotecas de IA.
Uma codificação compacta e legível por humanos para dados JSON, criada para reduzir o uso de tokens ao enviar dados estruturados em prompts para LLMs.
Biblioteca otimizada para GPU e scripts de referência para treinar grandes modelos transformer com paralelismo multidimensional.
Toolkit de código aberto para otimizar e implantar modelos de deep learning para inferência em CPUs, GPUs e NPUs Intel.
Biblioteca de comunicação GPU para dispatch e combine de MoE com paralelismo de especialistas, FP8 e suporte a NVLink/RDMA para treinamento e inferência.