

OpenAI API引入结构化输出(Structured Outputs)功能,确保模型输出符合开发者需求的JSON结构,提升数据处理和应用可靠性
OpenAI在其API中加入结构化输出(Structured Outputs)功能,确保模型生成的输出,能够完全符合开发者所提供的JSON结构。这项功能可被用于建构爬虫等工具,通过功能调用抓取需要的数据,从非结构化数据中截取结构化数据,并根据这些数据回答用户问题,对于数据输入和处理情境非常有用。
虽然之前OpenAI就已经在API推出JSON模式,试图更好地提供结构化的数据,让开发者能够用于建构可靠的应用程序,但是虽然JSON模式可以提高JSON文件输出的可靠性,但是却不能保证模型的回应能够完全符合特定的结构。
而OpenAI API新加入的结构化输出功能,便能准确地回应开发者对JSON文件的需求,避免需要使用开源工具、提示并反复试错来要求模型输出符合需求的格式。官方提到,结构化输出通过约束OpenAI模型来符合开发者的结构,并训练模型更好地理解复杂JSON结构以解决这个问题。
OpenAI API提供两种结构化输出使用方式,以符合开发者提供的JSON结构,第一种是功能调用,适用于所有支持工具的模型,开发者在功能定义中设置strict:true,就能启动结构化输出功能。第二种则是开发者可以在response_format参数中使用新的json_schema选项,这适用于在模型不调用工具,而是以结构化方式回应用户的情境。
目前OpenAI已经更新Python和Node SDK,原生支持结构化输出,这代表开发者可以像是使用Pydantic或是Zod对象一样,简单地提供工具的结构或回应格式,SDK将会自动处理数据类型转换,将开发者的数据类型转换为支持的JSON结构。