大模型面试题:如何让大模型生产合法的json呢?

要让大模型(如GPT、LLaMA、Claude等)稳定输出合法的JSON格式,需要结合 理论分析Prompt工程解码约束 和 后处理验证 等多方面技术。

1. Prompt工程

通过提供输入-输出对(Few-Shot),模型能更快学习任务分布。

实践示例

请严格按以下JSON格式回答,确保可直接被`json.loads()`解析:

示例1:
输入: "列出两种编程语言"
输出: {"languages": ["Python", "JavaScript"]}

示例2:
输入: "告诉我巴黎的人口和面积"
输出: {"city": "Paris", "population": 2148000, "area_km2": 105.4}

现在请回答:
输入: "提供三个颜色名称和其16进制代码"
输出:

2. 解码约束

约束解码的主要思想还是是在 LLM 生成每个 token 的过程中,根据提前定义号的规则对候选 token 进行过滤,只保留符合token。

假设我们构造一个 JSON 格式的数据,它包含 “name” 和 “age” 这两个属性,其中 “age” 属性的值必须为数字类型。

{ “name”: “Shuai”, “age”: 88 }

其约束规则可以这样描述:

以 { 符号起始
接着是 "name":
然后是一个被双引号包裹的字符串
紧接着是 ,
之后是 "age":
再跟着一个数字
最后以 } 符号结束

优势就是可以保证正确性,缺点就是效率太低了

3. 后处理校验

可以使用一些外部工具来校验生产的是不是对的,如果不对就让LLM再次生成

ChatBI企业落地新闻资讯

一款市面上比较接近落地实用的AIGC原生应用ChatBI产品

2026-5-6 9:53:41

Palantir前沿技术新闻资讯

本体论思想-抽象建模的本质是什么?

2026-5-6 10:33:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索