论文
TruncProof:词元长度约束下基于 LLM 的 JSON 生成的护栏
TruncProof: A Guardrail for LLM-based JSON Generation under Token-Length Constraints
摘要
基于 LLM 的机器可读输出(例如 JSON)的生成引起了与外部系统集成的极大关注。然而,现有方法无法严格强制生成词元的最大数量,从而导致无限生成或截断输出,从而导致系统故障。为了解决这个限制,我们提出了 TruncProof,这是一种新颖的语法约束生成方法,使 LLM 能够生成语法上有效的 JSON,同时遵守预定义的词元限制。通过利用 LL(1) 解析器的属性,TruncProof 有效地近似在每个解码步骤中完成语法上有效的输出所需的最小标记数。文本到 JSON 指令任务的实验表明,即使在严格的标记约束下,TruncProof 也能成功生成语法正确的输出。此外,我们表明 TruncProof 可以有效地与高级解码策略相结合,从而产生不仅语法有效而且语义准确的输出。源代码公开于 https://github.com/Yosshi999/TruncProof