8月6日,OpenAI的官网悄悄上线了新版本gpt-4o-2024-08-06模型。去年的DevDay活动中,OpenAI推出了JSON模式,而这次升级的新版本在API中引入了结构化输出,这一新功能旨在确保模型生成的输出与开发人员提供的 JSON 架构完全匹配。
gpt-4o-2024-08-06采用结构化输出的新模型在复杂 JSON 模式跟踪的评估中获得了满分 100%,而之前的gpt-4-0613得分不到 40%。
通俗的理解就是,通过使用gpt-4o-2024-08-06版本的结构化输出功能,输出的信息与预期格式完全一致,能确保生成的信息既准确又符合要求。
据官网介绍,结构化输出主要有两种形式:
函数调用:通过在函数定义中设置,可以使用结构化输出,启用结构化输出后,模型输出将与提供的工具定义相匹配。
response_format参数的新选项:当模型不调用工具而是以结构化方式响应用户时,开发人员可以通过提供 JSON 模式json_schema,这是参数的新选项response_format。当response_format提供时strict: true,模型输出将与提供的模式匹配。此功能适用于最新的 GPT-4o 模型:gpt-4o-2024-08-06和gpt- 4o-mini-2024-07-18。
此外,新的结构化输出功能仍允许模型拒绝不安全的请求。为了简化开发,refusal API响应中有一个新的字符串值,允许开发人员以编程方式检测模型是否生成了拒绝,而不是输出与架构匹配的内容。当响应不包含拒绝且模型的响应没有被过早中断时,模型的响应将可靠地生成与提供的架构匹配的有效 JSON。
结构化输出还可以用于动态生成用户界面、分离最终答案与推理过程、从非结构化数据中提取结构化数据等多种用例。
下面小编就通过示例来展示结构化输出和非结构化输出的区别,由于OpenAI对于中国地区的限制使用,小编直接用302.AI的API超市给大家展示,302.AI的API超市不仅有覆盖全球的多种AI大模型的API,而且更新速度很快,支持在线调试,且没有网络限制,按需付费,无捆绑套餐。
302.AI的API超市已经更新了新版本的gpt-4o的API,接下来我们就用9.11和9.8谁大的问题测试一下在非结构化输出和结构化输出的API中,输出的结果有什么不一样。首先,用正常的提问,没有使用结构化输出,可以看到结果一般是以纯文本或HTML形式返回,没有固定的格式或结构,答案是错误的:
同样是9.11和9.8谁大的问题,使用结构化输出后,可以看到API中返回的结果是一个定义好的JSON格式,格式种按照要求将问题进行了拆解和分析,最终生成了正确的答案:
其实简单来说,结构化输出适用于需要程序自动处理、集成和分析的场景。非结构化输出适用于需要人类阅读或不需要严格数据格式的场景。
顺便提一句,除了API超市,302.AI聊天机器人也已经更新了gpt-4o-2024-08-06版本模型,也是按需付费,生成聊天机器人后还能通过链接分享给朋友使用,朋友无需注册登录直接点击链接就可以使用。
这一新版本的发布其实更多是面向开发者,通过支持结构化输出,开发者可以更轻松地集成模型生成的内容与现有系统,同时使得数据更具可读性和易用性,让开发者能够迅速提取关键信息并进行后续处理,提升工作效率。总之,gpt-4o-2024-08-06版本的推出,标志着对开发者友好程度的进一步提升,为他们在构建智能应用时提供了更强大的支持。
参考文章:
https://openai.com/index/introducing-structured-outputs-in-the-api