4,847 讀數
4,847 讀數

对于LLM的最佳结果,使用JSON Prompt输出

经过 Andrew Prosikhin4m2025/04/22
Read on Terminal Reader

太長; 讀書

结构化输出(如JSON模式)解决了LLM最古老的提示头痛之一:不一致的响应。
featured image - 对于LLM的最佳结果,使用JSON Prompt输出
Andrew Prosikhin HackerNoon profile picture
0-item

这是正在进行的一系列的第四部分. 参见第一部分,第二部分和第三部分。

这是正在进行的一系列的第四部分. 参见第一部分,第二部分和第三部分。

112233

AI Principle IV: Use Structured Prompt Outputs

AI 原理 IV:使用结构化的 Prompt 输出

有一段时间,很久很久以前,当LLM API刚刚出来,没有人知道如何正确地与他们互动的时候,最主要的问题之一是从单个提示响应中提取多个输出。


那是古代的时代,当时我们骑马旅行,用蜡烛写提示,因为电力还没有发明出来。调试提示意味着花了很长的夜晚在珠宝卷上眨眼,希望模型会返回一份名单而不是海库。


但是LLM API无法始终返回JSON响应是一个真实的事情,并引起了很多问题。结构化输出在2023年11月 - 你现在可以使用OpenAI API为你提供一个格式化的JSON。在2024年,OpenAI还增加了对严格的结构化输出的支持,这完全保证了JSON返回。人类谷歌非结构化的快递输出时间过去了,我们永远不会回来。

结构化输出人类谷歌

Benefits

福利

为什么最好使用 JSON 结构的提示输出而不是其他格式或发明自定义格式?

Reduced Error Rate

现代LLM是精心定制的,以便在请求时输出有效的JSON - 即使在非常复杂的响应中,它们也很少失败。 此外,许多平台都有软件级别的保护,防止错误格式化的输出。


如果您使用自定义格式返回多个输出变量,您将不会受益于这种精细调节,错误率将更高。

Decoupled Prompts and Code

使用 JSON 输出,添加另一个输出字段是微不足道的,这样做不应该破坏你的现有代码。这将将添加字段从修改到代码处理逻辑的提示解开。原则二:安全地加载LLM(如果你真的需要).

原则二:安全地加载LLM(如果你真的需要)

Simplified System

是否有实际理由使用没有内置平台支持的输出格式?对于您和随后的代码贡献者来说,使用 JSON 格式化响应更容易。

When NOT to Use Structured Output

何时不使用结构化输出

Single Field Output

如果您的提示输出一个单个字段作为响应,输出一个JSON就没有任何好处。


今天单变性响应可能成为明天复杂的响应. 花了几个小时将一个字段输出提示转换为许多字段输出提示后,我现在默认使用JSON,即使只返回一个字段。


即使程序逻辑不需要多个输出,添加额外的字段也有快速工程和调试的好处. 添加一个提供响应解释的字段(或引用文档中的来源)通常可以显著提高快速性能(1)它也可以作为模型决策的解释来记录,从一开始就具有JSON的响应使得添加这样的字段变得更容易。

1


因此,即使您的提示具有单个输出变量,也可以考虑JSON格式作为一个选项。

Streaming Response

对于延迟至关重要的应用程序,经常使用流式LLM端点,这些端点允许在收到整个响应之前对部分响应进行操作。


例如,如果您的提示决定了视频游戏角色所采取的行动以及该角色所说的单词,您可以将其编码为“ACTION ÁthaSPEECH_TO_READ”,然后通过流式 API 传输响应,例如:开放式流媒体 API这会给你更好的延迟。

开放式流媒体 API


例子输出:

WAVE_AT_HERO|Hello, Adventurer! Welcome to my shop.

一旦收到该操作,该字符开始振动,并在流入时输出文本。

JSON 线路其他流友好的格式也可以有效地使用。

JSON 线路

Conclusion

结论

不要拒绝文明的好处 - 使用 JSON 结构的提示输出。几乎没有任何缺点,它将使你的生活更容易,因为LLM 被极大地优化以返回有效的 JSON 响应。


如果你喜欢这篇文章,订阅该系列的更多。

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks