一个 Python 库,在生成过程中约束 LLM 输出,使其符合指定的类型、正则、JSON Schema 或语法。
mlc-ai/xgrammar
一个快速灵活的结构化生成库,可将大模型输出约束为 JSON、正则或自定义上下文无关文法。
- Star
- 1,967
- Fork
- 241
- 未关闭 Issue
- 130
- 最近提交
- 3天前
这是什么?
XGrammar 是一个用于大语言模型结构化生成的开源库。它通过约束解码,让模型输出严格符合指定结构,例如 JSON、正则表达式或通用的上下文无关文法,从而解决 LLM 输出无法解析或不符合预期格式的常见问题。
该项目重点在于降低约束解码的开销,其中 JSON 生成的额外开销接近于零。它可运行于 Linux、macOS 和 Windows,支持 CPU、NVIDIA 与 AMD GPU、Apple Silicon 及 TPU 等硬件,并提供 Python、C++、JavaScript 和 Swift 接口。
XGrammar 主要用于嵌入推理引擎。它已集成到 vLLM、SGLang、TensorRT-LLM 和 MLC-LLM 等项目中,可通过 pip 安装。
核心功能
- 01将输出约束为 JSON、正则表达式或自定义上下文无关文法。
- 02JSON 生成的额外开销接近于零。
- 03支持 Linux、macOS 和 Windows,兼容 CPU、NVIDIA、AMD、Apple Silicon 与 TPU。
- 04提供 Python、C++、JavaScript 和 Swift 接口。
- 05可通过 pip 安装,并提供面向 Apple Silicon 的 Metal 可选依赖。
适用场景
- 让大模型推理服务返回可直接解析的合法 JSON。
- 将模型输出约束为正则或文法,用于工具调用或函数参数生成。
- 为自研的 LLM 推理系统添加结构化输出能力。
快速上手
- 1
从 PyPI 安装 XGrammar
pip install xgrammar - 2
在 Apple Silicon 上安装 Metal 支持(可选)
pip install "xgrammar[metal]" - 3
在 Python 代码中导入 XGrammar
import xgrammar as xgr
使用前须知
- README 中的大部分使用细节位于外部文档中,而非 README 本身。
标签
常见问题
- xgrammar 是什么?
- 一个快速灵活的结构化生成库,可将大模型输出约束为 JSON、正则或自定义上下文无关文法。 XGrammar 是一个用于大语言模型结构化生成的开源库。它通过约束解码,让模型输出严格符合指定结构,例如 JSON、正则表达式或通用的上下文无关文法,从而解决 LLM 输出无法解析或不符合预期格式的常见问题。
- xgrammar 可以免费使用吗?用的什么许可证?
- xgrammar 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- xgrammar 还在维护吗?
- 活跃维护中。xgrammar 最近一次提交是在 2026年10月18日。
- xgrammar 适合用来做什么?
- 让大模型推理服务返回可直接解析的合法 JSON。 将模型输出约束为正则或文法,用于工具调用或函数参数生成。 为自研的 LLM 推理系统添加结构化输出能力。
- xgrammar 怎么安装和运行?
- 从 PyPI 安装 XGrammar: pip install xgrammar 在 Apple Silicon 上安装 Metal 支持(可选): pip install "xgrammar[metal]" 在 Python 代码中导入 XGrammar: import xgrammar as xgr
- 在哪里获取 xgrammar?
- 源代码和安装说明在 GitHub 上:https://github.com/mlc-ai/xgrammar
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.6万907PythonApache-2.0更新于 29天前
Ray 是一个统一的框架,可将 Python 和 AI 应用从笔记本扩展到集群运行。
4.4万8174PythonApache-2.0更新于 9小时前
一种紧凑、易读的 JSON 数据编码格式,用于减少向 LLM 提示词传递结构化数据时的 token 消耗。
2.6万1280TypeScriptMIT更新于 11天前
面向大规模 Transformer 模型训练的 GPU 优化库与参考训练脚本,支持多维并行。
1.8万4645PythonOther更新于 7小时前
开源深度学习推理工具包,用于优化模型并部署到 Intel CPU、GPU 和 NPU 上运行。
1.1万3472C++Apache-2.0更新于 9小时前
面向 MoE 专家并行的 GPU 通信库,提供 dispatch 与 combine 所需的高吞吐、低延迟 all-to-all 内核。
1万1481CudaMIT更新于 4天前