众所周知,大模型的核心原理是『文字接龙』,通过概率计算输出下一个 Token,这种机制天然存在幻觉问题,导致模型会一本正经的胡说八道。当要求大模型输出 JSON 格式时,也常因为幻觉问题遇到各种格式灾难:附带冗余话术:比如前后夹带“好的,这是你要的结果”、“以下是符合要求的JSON”。Markdown 标签包裹:带有 ```json` 标签,导致无法直接解析。非法格式:用单引号替代双引号、转义字符使用错误等。语法漏洞:尾部缺失反括号、字段后多添逗号等。显然,这种不合规的 JSON 输出无法正常被 json.load()正确解析,直接导致业务代码报错。为了解决这个问题,我们需要在调用大模型的前、...