

OpenAI 推出了一项为结构化输出而设计的全新 API 功能,它能够让开发者更加便捷地获取符合预期的 JSON 格式数据。
在近期的开发者日(DevDay)活动中,OpenAI 发布了 JSON 模式,使得通过 API 获取结构化数据变得更加容易。借助 JSON 模式,用户可以确保获得符合特定 JSON 格式的结构化输出,从而简化数据处理流程。这项结构化输出功能极大地提升了从 OpenAI 模型中提取结构化数据的效率。
通过 AI 模型生成的数据,现在可以借助结构化输出来实现更精确、更可控的数据提取。开发者可以通过 OpenAI API 轻松地指定所需的数据结构,从而获得包含预定义字段、数据类型以及其他约束条件的结构化输出。这意味着,开发者可以更有效地管理非结构化数据,将其转化为可用于分析和应用的结构化数据。总而言之,OpenAI 的结构化输出功能为开发者提供了更强大的数据处理能力。
确保 JSON 格式输出的准确率达到 100%
其中一个关键优势在于,使用严格 JSON 模式时,模型 gpt-4o-2024-08-06 能够保证 100% 输出符合要求的 JSON 格式,而之前的 gpt-4-0613 模型的准确率仅为 40%。这意味着,借助新功能,用户可以更加信赖模型输出的结构化数据,减少后续处理和验证的需求。
如何开始使用结构化输出
要开始使用结构化输出功能,开发者可以通过 OpenAI API 调用以下两种方法:一是通过指定工具来强制执行数据结构,即通过 jsonschema 来确保返回的是符合要求的 JSON 格式;二是通过使用 jsonschema 参数来定义所需的 JSON 格式,模型将按照该格式生成输出。
1. 使用工具:在工具参数中设置 strict: true
,可以强制模型使用指定的工具。请注意,旧版本的模型,例如 gpt-4-0613
和 gpt-3.5-turbo-0613
可能不支持此功能。对于支持的结构化输出模型,这将确保模型返回符合规范的数据结构。
2.responseformat
参数:如果只想获得 JSON 格式的输出,可以使用 jsonschema
作为 responseformat
参数的值。需要注意的是,并非所有模型都支持此参数,具体取决于您使用的模型版本。目前支持此参数的 GPT-4o 模型包括:gpt-4o-2024-08-06
和 gpt-4o-mini-2024-07-18
。如果在 responseformat
中使用 strict: true
,模型同样会确保输出符合规范的数据格式。
总的来说,OpenAI 的这项新功能为开发者提供了更强大的数据处理能力,使得从 AI 模型中提取结构化数据变得更加高效和可靠。现在,开发者可以更加专注于利用这些结构化数据来构建各种应用和服务,而无需花费大量精力在数据清洗和转换上。
立即开始使用 SDK
OpenAI 的 Python 和 Node SDK 已经集成了对结构化输出的全面支持。开发者可以利用 Pydantic 或 Zod 等工具,结合 OpenAI 的 SDK,轻松实现对结构化输出的验证、类型定义以及 JSON 模式的管理。
有关更多详细信息,请参阅 OpenAI 官方文档,了解如何利用这项新功能来优化您的数据处理流程,并构建更强大的 AI 应用。
参考链接:https://openai.com/index/introducing-structured-outputs-in-the-api/
总结:
🌎 结构化输出功能让模型能够按照预定义的 JSON 格式生成内容,从而简化了数据提取流程。
🔍 使用 gpt-4o-2024-08-06 模型可以实现 100% 准确的 JSON 格式输出。
🚀 Python 和 Node SDK 已经支持结构化输出,方便开发者进行集成和使用。