guidance-ai/llguidance
Super-fast Structured Outputs
何を解決するか
llguidance は、LLM の出力における「幻覚」やフォーマットエラーの問題を、制約付きデコードを実装することで解決します。モデルの出力が特定の構造(JSON スキーマ、正規表現、文脈自由文法など)に厳密に従うことを保証し、そのフォーマット用にモデルをファインチューニングする必要がありません。
動作方法
このライブラリは、デコードプロセス中にリアルタイムで「トークンマスク」を計算します。文法とすでに生成されたトークンをもとに、モデルの語彙から次に有効なトークンを正確に特定します。これにより、文法のルールを維持できます。
技術的には、文脈自由文法の解析にEarleyのアルゴリズムを使用し、正規表現の導関数に基づくレキサーを採用しています。また、すべての可能なトークンのプレフィックスツリー(トライ木)を走査することで、マスクの計算を極めて高速化(平均50µs/トークン)しており、起動時のオーバーヘッドはほぼゼロです。
対象ユーザー
構造化出力を保証する必要があるプロダクションAIアプリケーションを開発する開発者、およびvLLM、SGLang、llama.cppなどのLLMインファレンスエンジンの開発者向けに設計されています。高パフォーマンスな文法制約を統合したい方におすすめです。
特徴
- 極めて高いパフォーマンス:大規模なトークナイザーでも、1トークンあたり約50µsのCPU時間でトークンマスクを計算可能。
- 広範なフォーマット対応:JSONスキーマ、正規表現、Larkスタイルの文脈自由文法をサポート。
- ゼロの起動オーバーヘッド:一部の競合製品とは異なり、自動状態の長時間事前計算を必要としない。
- 広範な統合:OpenAIモデルの構造化出力の実現に使用されており、vLLM、SGLang、llama.cpp、Chromiumに統合済み。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch