从任何 LLM 获取可靠的 JSON

大多数开发者都希望他们的 LLM 输出有效的 JSON。但希望并非策略。

对于生产级应用,你需要可靠的数据。获取数据有四种方法:

  1. 使用解析器的纯文本。这种方法经常失败。
  2. JSON 模式。这有所帮助,但仍然会出错。
  3. 函数或工具调用 (Function or tool calling)。这种方法更好。
  4. 带有约束解码 (constrained decoding) 的原生结构化输出。这是行业金标准。

约束解码让你的结构成为一种保证,而不是依赖运气。

工作原理: 系统将你的 Schema 编译成一种语法。它使用有限状态机 (finite-state machine)。在每一步中,系统都会屏蔽掉违反规则的 Token。模型无法选择会破坏结构的 Token。输出始终保持有效。

目前主流厂商都已支持:

  • OpenAI: Structured Outputs
  • Google Gemini: responseSchema
  • Anthropic: Structured Outputs beta
  • 开源方案: vLLM, Hugging Face TGI, llama.cpp, Outlines, and Instructor

不要再在代码中修复 JSON 错误了。使用约束解码来从源头防止它们。

在下方的 AI Tech Connect 阅读全文。

来源:https://dev.to/rishi_kora/reliable-json-from-any-llm-constrained-decoding-in-production-8an

可选学习社区:https://t.me/GyaanSetuAi