Repolode
mlc-ai

mlc-ai/xgrammar

LLMの出力をJSON、正規表現、カスタムの文脈自由文法に制約できる、高速で柔軟な構造化生成ライブラリ。

スター
1,967
フォーク
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生成時のオーバーヘッドをほぼゼロに抑えることを目指しています。
  • 03CPU、NVIDIAおよびAMDのGPU、Apple Silicon、TPUで、Linux、macOS、Windows上で動作します。
  • 04Python、C++、JavaScript、Swift向けのAPIを提供します。
  • 05pipでインストールでき、Apple Silicon向けのMetal extraも任意で利用できます。

ユースケース

  • LLMのサービングエンジンに有効なJSONを返させ、後続処理でパースできるようにする。
  • ツール呼び出しや関数引数向けに、モデルの出力を正規表現または文法に従わせる。
  • 独自のLLM推論スタックに構造化出力機能を追加する。

クイックスタート

  1. 1

    PyPIからXGrammarをインストールする

    pip install xgrammar
  2. 2

    Apple Silicon向けのMetalサポートを有効にしてインストールする(任意)

    pip install "xgrammar[metal]"
  3. 3

    PythonコードでXGrammarをインポートする

    import xgrammar as xgr

使う前に知っておきたいこと

  • READMEの使い方に関する詳細のほとんどは、README自体ではなく外部ドキュメントに記載されています。

トピック

よくある質問

xgrammar とは?
LLMの出力をJSON、正規表現、カスタムの文脈自由文法に制約できる、高速で柔軟な構造化生成ライブラリ。 XGrammarは、大規模言語モデルによる構造化生成のためのオープンソースライブラリです。制約付きデコーディングを使って、生成結果がJSON、正規表現、一般的な文脈自由文法など、指定された構造に従うようにします。これにより、LLMの出力をパースできない、あるいは想定したスキーマに一致しないというよくある問題に対処します。
xgrammar は無料で使えますか?ライセンスは?
xgrammar は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
xgrammar は今もメンテナンスされていますか?
活発にメンテナンス中。xgrammar の最終コミットは 2026年10月18日 です。
xgrammar は何に使えますか?
LLMのサービングエンジンに有効な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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト