跳转到主要内容
🧠

JSON模式

📂 LLM ⏱ 1 min 108 words

JSON模式概述

JSON模式(JSON Mode)是LLM API提供的一种确保输出为合法JSON的机制。通过API参数设置,模型会保证输出可以被JSON解析器正确解析,大大简化了应用开发。

工作机制

API参数

在API请求中设置输出格式:

{
  "model": "gpt-4",
  "messages": [...],
  "response_format": { "type": "json_object" }
}

生成保证

开启JSON模式后:

  • 输出保证是合法的JSON字符串
  • 不保证符合特定的Schema
  • 可能返回任意JSON结构

Schema约束

更高级的JSON Schema模式:

  • 定义字段名和类型
  • 约束值的范围和格式
  • 指定必填和可选字段

使用场景

API集成

LLM输出需要被下游系统处理:

  • 数据库记录存储
  • 第三方API调用
  • 工作流系统集成

数据提取

从非结构化文本中提取结构化数据:

  • 信息抽取
  • 实体识别
  • 关系提取

配置生成

生成系统配置或参数:

  • 动态配置生成
  • 参数推荐
  • 自动化设置

实现细节

系统提示配合

在系统提示中定义JSON结构:

你是一个数据提取助手。请以JSON格式返回提取结果,包含:
- entities: 实体列表
- relationships: 关系列表
- summary: 摘要

错误处理

JSON模式不保证内容正确性:

  • 解析验证JSON结构
  • 检查字段完整性
  • 验证字段类型
  • 重试机制处理格式错误

嵌套结构

支持复杂的嵌套JSON:

  • 数组和对象嵌套
  • 多层数据结构
  • 条件字段

与其他方式的对比

方式 格式保证 Schema保证 灵活性
JSON Mode 合法JSON
JSON Schema 合法+结构
函数调用 自动格式化
约束解码 100%正确

模型支持

  • OpenAI:response_format参数
  • Anthropic:Tool Use实现
  • Google:JSON模式支持
  • 开源模型:通过引导解码实现

最佳实践

  1. 明确定义期望的JSON结构
  2. 提供JSON示例帮助模型理解
  3. 实现Schema验证和错误重试
  4. 处理模型可能生成的意外结构
  5. 使用流式JSON解析提升体验

JSON模式是LLM结构化输出的基础能力,为LLM与程序系统的集成提供了可靠的格式保证。