Repolode
mlc-ai

mlc-ai/xgrammar

Быстрая и гибкая библиотека для генерации структурированного вывода LLM с ограничением результата до JSON, regex или пользовательских контекстно-свободных грамматик.

Звёзды
1,967
Форки
241
Открытые issues
130
Последний коммит
3 дня назад

Что это?

XGrammar — библиотека с открытым исходным кодом для генерации структурированного вывода с помощью больших языковых моделей. Она использует constrained decoding, чтобы генерируемый результат соответствовал заданной структуре: например, JSON, регулярному выражению или произвольной контекстно-свободной грамматике. Это решает распространённую проблему, когда вывод LLM не удаётся разобрать или он не соответствует ожидаемой схеме.

Проект стремится свести накладные расходы constrained decoding к минимуму и сообщает о почти нулевых накладных расходах при генерации JSON. Библиотека рассчитана на работу в Linux, macOS и Windows, а также на CPU, GPU NVIDIA и AMD, Apple Silicon и TPU. Доступны биндинги для Python, C++, JavaScript и Swift.

XGrammar предназначена для встраивания в движки инференса. Она интегрирована в такие проекты, как vLLM, SGLang, TensorRT-LLM и MLC-LLM, и устанавливается с помощью pip.

Ключевые возможности

  • 01Ограничивает вывод до JSON, regex или пользовательских контекстно-свободных грамматик.
  • 02Стремится обеспечить почти нулевые накладные расходы при генерации JSON.
  • 03Работает в Linux, macOS и Windows на CPU, GPU NVIDIA и AMD, Apple Silicon и TPU.
  • 04Предоставляет API для Python, C++, JavaScript и Swift.
  • 05Устанавливается через pip; для Apple Silicon доступен дополнительный пакет Metal.

Сценарии использования

  • Заставить движок обслуживания LLM возвращать валидный JSON для последующего разбора.
  • Ограничить вывод модели регулярным выражением или грамматикой для вызовов инструментов либо аргументов функций.
  • Добавить поддержку структурированного вывода в собственный стек инференса LLM.

Быстрый старт

  1. 1

    Установить XGrammar из PyPI

    pip install xgrammar
  2. 2

    Установить с поддержкой Metal для Apple Silicon (необязательно)

    pip install "xgrammar[metal]"
  3. 3

    Импортировать XGrammar в код Python

    import xgrammar as xgr

Что важно знать

  • Большая часть сведений об использовании находится во внешней документации, а не в самом README.

Темы

Частые вопросы

Что такое xgrammar?
Быстрая и гибкая библиотека для генерации структурированного вывода LLM с ограничением результата до JSON, regex или пользовательских контекстно-свободных грамматик. XGrammar — библиотека с открытым исходным кодом для генерации структурированного вывода с помощью больших языковых моделей. Она использует constrained decoding, чтобы генерируемый результат соответствовал заданной структуре: например, JSON, регулярному выражению или произвольной контекстно-свободной грамматике. Это решает распространённую проблему, когда вывод LLM не удаётся разобрать или он не соответствует ожидаемой схеме.
xgrammar можно использовать бесплатно? Какая у него лицензия?
xgrammar распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
xgrammar всё ещё поддерживается?
Активно поддерживается. Последний коммит в xgrammar — 18 окт. 2026 г..
Для чего можно использовать xgrammar?
Заставить движок обслуживания LLM возвращать валидный JSON для последующего разбора. Ограничить вывод модели регулярным выражением или грамматикой для вызовов инструментов либо аргументов функций. Добавить поддержку структурированного вывода в собственный стек инференса LLM.
Как установить xgrammar?
Установить XGrammar из PyPI: pip install xgrammar Установить с поддержкой Metal для Apple Silicon (необязательно): pip install "xgrammar[metal]" Импортировать XGrammar в код Python: import xgrammar as xgr
Где скачать xgrammar?
Исходный код и инструкции по установке — на GitHub: https://github.com/mlc-ai/xgrammar

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты