大家好,这里是SmallAI-已接入最新GPT4o模型

在今天,OpenAI 发布新模型:GPT-4o-2024-08-06,且CEO 山姆·奥特曼宣布推出了一项新的特性:支持 JSON 格式化输出。

模型能力全方位提升,ZeroEval基准测试直接跃居第一。

本篇要点:

- 😊 OpenAI新模型介绍

- ✨ 如何使用 JSON 格式化输出

- 🧐 如何无限制使用GPT4o新模型!

GPT-4o-2024-08-06模型

OpenAI宣布新模型的价格下调了,输入价格只有原来的一半,输出也便宜了1/3。

token输出扩展到16k,此前支持4k,9.11和9.9谁大这个问题,也能丝滑解决。

现已支持 JSON 格式化输出

在OpenAI对复杂JSON模式的跟踪评估中,新模型gpt-4o-2024-08-06在结构化输出方面取得了满分100%的卓越成绩,而旧模型gpt-4-0613的得分则不足40%。

这一显著的进步,不仅展现了OpenAI在技术上的飞跃,也为开发人员带来了更高的工作效率和更少的错误率。

在代码能力方面,最新版本的基准得分和此前版本相同,但是现在成本只有原来的一半。

如何使用JSON 格式化输出

模型训练最新的 gpt-4o-2024-08-06 模型经过训练,可以更好地理解复杂的 Schema 并生成与之匹配的输出。

尽管模型性能已显著提升,在基准测试中达到了 93%的准确性,但其行为的固有不确定性仍然存在。为了确保开发者构建应用的稳健性,OpenAI 提供了一种确定性的方法来约束模型的输出,从而实现 100%的可靠性。

response_format 参数的新选项

开发者现在可以通过 json_schemaresponse_format 参数提供一个 JSON Schema。当模型不调用工具,而是以结构化方式响应用户时,这一功能尤为有用。此功能适用于我们最新的 gpt-4o 系列模型:今日发布的 gpt-4o-2024-08-06 和 gpt-4o-mini-2024-07-18。当 response_format 设置为 strict: true 时,模型输出将匹配提供的 Schema。

示例请求代码如下

POST /v1/chat/completions

{

 "model": "gpt-4o-2024-08-06",

 "messages": [

   {

     "role": "system",

     "content": "You are a helpful math tutor."

   },

   {

     "role": "user",

     "content": "solve 8x + 31 = 2"

   }

 ],

 "response_format": {

   "type": "json_schema",

   "json_schema": {

     "name": "math_response",

     "strict": true,

     "schema": {

       "type": "object",

       "properties": {

         "steps": {

           "type": "array",

           "items": {

             "type": "object",

             "properties": {

               "explanation": {

                 "type": "string"

               },

               "output": {

                 "type": "string"

               }

             },

             "required": ["explanation", "output"],

             "additionalProperties": false

           }

         },

         "final_answer": {

           "type": "string"

         }

       },

       "required": ["steps", "final_answer"],

       "additionalProperties": false

     }

   }

 }

}

示例输出 JSON

{

 "steps": [

   {

     "explanation": "Subtract 31 from both sides to isolate the term with x.",

     "output": "8x + 31 - 31 = 2 - 31"

   },

   {

     "explanation": "This simplifies to 8x = -29.",

     "output": "8x = -29"

   },

   {

     "explanation": "Divide both sides by 8 to solve for x.",

     "output": "x = -29 / 8"

   }

 ],

 "final_answer": "x = -29 / 8"

}

安全性始终是 OpenAI 的首要任务。新推出的结构化输出功能严格遵循现有的安全政策,并允许模型在遇到不安全请求时进行拒绝。

为了方便开发者检测模型是否生成了拒绝而非与 schema 匹配的输出,API 响应中新增了一个拒绝字符串值。

当模型的响应不包含拒绝,并且响应没有因任何原因被过早中断(如通过 finish_reason 指示),则模型的响应将可靠地产生与提供的 schema 完全匹配的有效 JSON。