🚨 因格式错误的JSON被罚款17,000欧元:与LLMs的致命错误!🚨

🚨 因格式错误的JSON被罚款17,000欧元:与LLMs的致命错误!🚨

转发 — 内容作者 Julien Mutzenhardt

🚨 因JSON格式错误被罚17,000欧元:LLM的致命错误!🚨

一名开发者导致公司关键文件的处理出现了大规模延迟。原因是什么?一个简单的集成错误。💥

然而他已经在提示词中明确指定:“用JSON回复。”问题在于,模型非常礼貌地回复道:“当然,以下是信息:”,然后才插入它的代码。

结果:期待原始JSON对象的解析器陷入了循环崩溃。🔄

💡 教训:提示词只是一条指令,而非一种义务。

这就像告诉你的狗不要碰桌上的鸡肉,然后你就去睡觉了。实际上没有任何东西强制人工智能模型严格遵守所要求的格式。

🛠 真正的解决方案:“约束解码”

与其寄希望于模型遵守你的文本指令,不如给它一个“JSON Schema”(预期响应的精确蓝图,例如定义某个金额必须是数字)。

🧠 它在底层是如何工作的?

生成引擎不会让LLM从其整个词汇表中选择下一个词,而是实时重新计算允许的“token”。例如,要开始一个JSON对象,它只允许左花括号{。模型没有其他选择。格式因此在构造上就是有效的,从而避免了启动数千次不必要的新尝试(重试)!🎯

🚀 如何在不重新编写一个过于复杂的庞然大物的情况下实现它?

只需将你的JSON Schema发送给标准API(如OpenAI或Anthropic),它们会负责处理。如果你在本地托管自己的人工智能模型,像vLLM这样的引擎也能轻松处理。

别再在生产环境中乱来了,保护好你LLM的输出数据!🛡

🤖 本文摘要由AI生成。

那么你呢,你是否见过某个系统因为人工智能的意外响应而在运行中崩溃?

#人工智能 #开发 #JSON #LLM #OpenAI #VLLM #编程 #科技

如果你想与我讨论这个话题或利用我的技能,可以通过私信或视频通话联系我。

LinkedIn来源

文章🚨 因JSON格式错误被罚17,000欧元:LLM的致命错误!🚨首发于les plumes qui mordent。



常见问题
常见问题 因JSON格式错误被罚17,000:LLM的致命错误

1 这个17,000的罚款是怎么回事
它指的是一个真实案例,某AI系统产生了格式错误的JSON输出,导致下游流程中断,并造成了17,000的罚款。它被用作一个警示性案例,说明输出格式为何至关重要

2 什么是JSON
JSON是一种简单的文本格式,用于将数据组织为键值对、列表和嵌套对象。它是软件交换数据的标准方式

3 格式错误的JSON是什么意思
违反语法规则的JSON——例如缺少引号、多余的逗号、未转义的字符、括号不匹配或对象前后有多余文本。解析器会拒绝它

4 为什么LLM会产生无效的JSON
LLM以概率方式生成文本。它们可能添加解释、使用Markdown代码围栏、幻觉出字段、截断输出或略微偏离schema——尤其是在没有严格指令或验证的情况下

5 一个格式错误怎么会造成17,000的损失
如果系统盲目信任LLM输出,无效的JSON可能导致自动化流水线崩溃、造成错误交易、触发合同/SLA罚款或迫使人工修复。一个小小的语法错误可能级联成真实的经济损失

6 LLM最常见的JSON错误是什么
将JSON包裹在Markdown中或在其周围添加对话性文本。其他常见问题包括多余的逗号、单引号和输出截断

7 如何让LLM返回有效的JSON
明确要求仅返回JSON、不要解释,提供schema或示例,使用低温度,并且最重要的是——进行验证并在失败时重试

8 什么是JSON schema验证
一种检查JSON是否符合预期结构的方法。JSON Schema验证器之类的工具可以在错误到达生产环境之前将其捕获

9 我应该在不检查的情况下信任LLM输出吗
不应该。始终以编程方式验证LLM输出。将其视为不可信输入,就像用户提交的数据一样

10 LLM中的结构化输出或JSON模式是什么
一些模型提供商提供的功能,用于约束