
OpenAI 发布新模型、新特性,丝滑解决9.11和9.9谁大!
大家好,这里是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_schema
为 response_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。