xgrammar

让大模型输出严格符合格式,又快又稳

xgrammar 是一个专注于结构化生成的开源库,旨在为大型语言模型提供快速、灵活且可移植的约束解码能力。它解决了 LLM 输出不符合预期格式(如 JSON、SQL 或自定义语法)的问题,通过将语法规则编译为有限状态机,在解码过程中实时约束 token 生成,确保输出严格符合预定义模式。核心能力包括高性能的掩码计算、支持上下文敏感语法(如 JSON Schema)、支持多种后端(如 llama.cpp、vLLM)以及多种语言绑定(C++、Python)。其设计强调可移植性,能轻松集成到不同的推理框架中,从而提升生成结果的结构化程度和可靠性。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1926
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队mlc-ai
所属国家
定价模式free
价格说明开源项目,Apache-2.0许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议Apache-2.0
主要语言C++
技术栈/模型large-language-models,structured-generation
GitHub 星标★ 1926
30天Star增速
HF 下载量
上线时间2024-06-28 00:00:00
最近更新2026-09-23 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 3 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境(xgrammar 提供 Python 语言绑定)
  • C++ 环境(项目使用 C++ 开发、提供 C++ 绑定)
  • 如需在推理框架中使用,需自备 vLLM、llama.cpp 等已集成后端

安装与启动步骤

  1. 1克隆仓库

    从 GitHub 地址拉取 xgrammar 源码到本地,便于查看代码与文档目录。

    git clone https://github.com/mlc-ai/xgrammar.git
  2. 2查阅官方文档

    README 未给出安装命令,请打开官方文档的 Get Started 章节获取准确安装步骤。

  3. 3了解新版本特性

    README News 显示 2026/5 已发布 XGrammar-2,可阅读官方博客确认版本与能力变化。

如何确认成功

README 未说明验证方式,请按官方文档 Get Started 章节的指引确认是否可用。

常见问题

Q:xgrammar 支持哪些推理后端?

A:README News 显示已集成 vLLM、TensorRT-LLM、OpenVINO GenAI、Modular MAX、Mirai 等,官方介绍中也提到 llama.cpp 等后端。

Q:提供哪些语言绑定?

A:项目信息显示提供 C++ 和 Python 两种语言绑定,可按使用场景选择。

Q:最新版本是什么?

A:README News 显示 2026 年 5 月发布了 XGrammar-2,详情见官方博客链接。

Q:完整文档在哪里?

A:官网文档地址为 https://xgrammar.mlc.ai/docs/ ,README 顶部也提供了 Get Started 入口。

注意事项

  • README 节选中没有安装命令,不要照搬任何未在文档中出现的包名或参数。
  • 项目迭代活跃(已发布 XGrammar-2),安装前建议先看官方文档与 News 确认版本。
  • 其核心用途是结构化生成,让模型输出严格符合 JSON、SQL 或自定义语法。

核心亮点

  • 基于有限状态机的约束解码,性能开销极低,比正则表达式方法快数倍
  • 支持 JSON Schema 等上下文敏感语法,能处理复杂嵌套结构
  • 提供 C++ 核心与 Python 绑定,并已集成到 vLLM、llama.cpp 等主流推理框架

不足之处

  • 文档和示例相对较少,新用户上手需要参考源码或社区讨论
  • 对非 JSON 的自定义语法支持仍在完善,部分高级语法特性可能受限

适用场景

  • 在 LLM 应用中强制输出合法 JSON,避免解析错误
  • 需要生成符合特定数据库 Schema 的 SQL 查询
  • 在推理服务中集成结构化输出,提升下游自动化流程的稳定性

替代项目

Outlines、Guidance、LlamaIndex Structured Output

项目介绍

xgrammar 是基础设施领域的开源项目,由 mlc-ai 开发,2024 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,926)位列前 30%,在基础设施分类中处于中上游。

近 42 天,它的 GitHub 星标从 1,816 增加到 1,926,净增 110。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-23。Apache-2.0许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:在LLM应用中强制输出合法JSON,避免解析错误。同类可对比的替代方案包括 Outlines、Guidance、LlamaIndex Structured Output。

上一篇:llm-sandbox

下一篇:MoE-Infinity

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09