guidance-ai/llguidance

Super-fast Structured Outputs

解決的問題

llguidance 透過實作約束解碼,解決了 LLM 輸出中的「幻覺」或格式錯誤問題。它確保模型輸出嚴格遵循特定結構——例如 JSON 模式、正規表示式或上下文無關文法——而無需針對該格式對模型進行微調。

工作原理

該庫在解碼過程中即時計算「詞元遮罩」。給定文法與已生成的詞元,它能精確識別出模型詞彙表中哪些詞元是維持文法規則的合法下一步。

技術上,它使用 Earley 算法進行上下文無關文法解析,並基於正規表示式導數建構詞法分析器。透過遍歷所有可能詞元的前綴樹(Trie),實現極高優化,使遮罩計算速度極快(平均每個詞元 50µs),且幾乎無啟動開銷。

適用對象

專為需要保證結構化輸出的生產級 AI 應用開發者設計,也適用於 vLLM、SGLang、llama.cpp 等 LLM 推理引擎的開發者,希望整合高效率語法強制功能的使用者。

特色亮點

  • 極致效能:對於大型分詞器,每個詞元的遮罩計算平均僅需約 50µs 的 CPU 時間。
  • 廣泛格式支援:支援 JSON 模式、正規表示式和 Lark 風格的上下文無關文法。
  • 零啟動開銷:與部分競爭對手不同,無需進行長時間的自動機狀態預計算。
  • 廣泛整合:已用於 OpenAI 模型的結構化輸出,並整合至 vLLM、SGLang、llama.cpp 與 Chromium。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch