本期导读
OpenAi重磅升级GPT-4o,迎来GPT-4o-2024-08-06新版本更新
知识、数学、逻辑、代码 能力全面升级!100%准确JSON输出来了!
OpenAI刚刚为其明星产品GPT-4o翻开了新的篇章,这次升级不仅仅是常规更新,而是一次革命性的飞跃!
在最新的ZeroEval基准测试中,GPT-4o在ZeroEval 排行榜上排名第1。(排行榜评估的是四项关键推理任务的性能:知识、数学、逻辑和代码)
还记得去年DevDay上,OpenAI首次提出的JSON模式概念吗?虽然备受期待,但实际表现却差强人意。开发者们苦不堪言,明明在prompt中千叮咛万嘱咐要按指定格式输出,模型却总是我行我素。
但是,各位看官请注意了!这个困扰业界已久的难题,在今天,被OpenAI华丽解决了!
非结构化的结果
天天今年30岁,是一名互联网运营。他身高165cm,体重48kg。天天喜欢生物信息分析,每天都会研究Python。他的梦想是成为一名生信知识博主
结构化结果 (JSON格式):
{
"name": "天天",
"age": 30,
"occupation": "互联网运营",
"height_cm": 165,
"weight_kg": 48,
"hobbies": [
{
"name": "生物信息分析",
"details": "每天都会研究Python"
}
],
"dream": "成为一名生信知识博主"}
OpenAI推出的GPT-4o模型2024-08-06版本,带来了一个堪称神器的新功能:结构化输出(Structured Outputs)。这是什么概念?
简单来说,就是模型现在可以100%准确地按照开发者提供的JSON模式输出内容。没错,你没听错,是百分之百的准确率!
那么,OpenAI是如何实现这个看似不可能的任务的呢?他们采用了两种方法:
1. 专项训练
通过针对性的模型训练,准确率就已经达到了惊人的93%。
Under the hood
为了提高与 JSON 模式匹配的模型输出的可靠性,我们采取了两部分方法。首先,我们对最新的模型 gpt-4o-2024-08-06 进行了训练,使其了解复杂的模式以及如何最好地生成与之匹配的输出。
然而,模型行为本身是非确定性的--尽管该模型的性能有所提高(在我们的基准测试中提高了 93%),但它仍然无法满足开发人员构建稳健应用程序所需的可靠性。因此,我们还采用了一种基于工程的确定性方法来限制模型的输出,以实现 100% 的可靠性。
2. 约束解码技术
这个听起来很高大上的技术,其实就是给模型戴上了"紧箍咒",让它在生成内容时不敢越雷池一步。
Constrained decoding
我们的方法基于一种称为受限采样或受限解码的技术。默认情况下,当模型被采样以产生输出时,它们是完全不受约束的,可以从词汇中选择任何标记作为下一个输出。
这种灵活性允许模型犯错误;例如,它们通常可以随时采样大括号标记,即使这样做不会产生有效的 JSON。为了迫使输出有效,我们限制模型只使用根据所提供的模式有效的标记,而不是所有可用的标记。
结果如何?准确率直接飙升到100%!这简直就是技术界的一次质的飞跃!
各位读者,你们是不是已经迫不及待想尝试这个新功能了?
别着急,小编马上告诉你们如何使用:
1.函数调用:
通过在函数定义中设置 strict: true ,可使用 tools 结构化输出。此功能适用于所有支持工具的模型,包括所有 gpt-4-0613 和 gpt-3.5-turbo-0613 及以后的模型。启用结构化输出后,模型输出将与提供的工具定义相匹配。
2.参数的新选项
开发人员现在可以通过 json_schema 提供 JSON 模式,这是 response_format 参数的新选项。这在模型不调用工具,而是以结构化方式响应用户时非常有用。该功能适用于我们最新的 GPT-4o 模型:今天发布的 gpt-4o-2024-08-06 和 gpt-4o-mini-2024-07-18 。当 response_format 与 strict: true 一起提供时,模型输出将与提供的模式相匹配。
最后,小编要说的是,这次升级让开发者能更专注于创意和逻辑,而不是被繁琐的格式问题所困扰。
想要体验的读者可登陆以下网址,国内无障碍使用~