OpenAI 12天发布会Day9, 今日宣布推出一系列针对开发者的强大模型、全新定制工具以及性能、灵活性和成本效益的升级,旨在助力开发者构建更智能、更强大的 AI 应用。本次更新涵盖以下关键内容:
1. API 中的 OpenAI o1:
OpenAI o1 模型正式在 API 中向 5 级使用用户开放。作为 OpenAI o1-preview 的继任者,o1 模型旨在处理复杂的、多步骤任务,并提供更高的准确性。该模型具备以下关键特性:
•函数调用:无缝连接 o1 模型与外部数据和 API。
•结构化输出:生成可靠地遵循自定义 JSON Schema 的响应。
•开发者消息:允许开发者指定模型的指令或上下文,例如定义语气、风格和其他行为指导。
•视觉能力:能够理解图像,为科学、制造或编码等需要视觉输入的领域解锁更多应用。
•更低延迟:针对给定请求,o1 模型平均使用的推理 Token 比 o1-preview 少 60%。
•推理力度参数:新增
reasoning_effort
API 参数,允许开发者控制模型在回答问题前的思考时间
本次发布的 o1-2024-12-17 版本是两周前在 ChatGPT 中发布的模型的全新后训练版本。它在基于用户反馈的模型行为方面进行了改进,同时保持了在 o1 系统卡片中评估的前沿能力。此外,ChatGPT 中的 o1 模型也同步更新至此版本。
在多个基准测试中,o1-2024-12-17 取得了最新的技术水平,显著提高了成本效益和性能。具体数据如下:
类别评估指标o1-2024-12-17o1-preview通用GPQA diamond 75.7 73.3
MMLU (pass @1) 91.8 90.8编码SWE-bench Verified 48.9 41.3
LiveCodeBench 76.6 52.3数学MATH (pass @1) 96.4 85.5
AIME 2024 (pass @1) 79.2 42.0
MGSM (pass @1) 89.3 90.8视觉MMMU (pass @1) 77.3 —
MathVista (pass @1) 71.0 —事实性SimpleQA 42.6 42.4代理TAU-bench (零售) 73.5 —
TAU-bench (航空) 54.2 —
此外,测试表明,o1-2024-12-17 在函数调用和结构化输出方面显著优于 gpt-4o
OpenAI 将逐步增加模型的访问权限,同时努力扩展访问范围至其他使用级别并提高速率限制。
2. 实时 API 改进:
实时 API 旨在帮助开发者创建低延迟、自然的对话体验,适用于语音助手、实时翻译工具、虚拟导师等应用场景。本次更新重点包括:
WebRTC 支持:引入 WebRTC 支持,简化跨平台实时语音产品的构建和扩展。WebRTC 负责处理音频编码、流式传输、噪声抑制和拥塞控制。以下是一个使用 JavaScript 集成 WebRTC 的示例代码:
async function createRealtimeSession(localStream, remoteAudioEl, token) { const pc = new RTCPeerConnection(); pc.ontrack = e => remoteAudioEl.srcObject = e.streams[0]; pc.addTrack(localStream.getTracks()[0]); const offer = await pc.createOffer(); await pc.setLocalDescription(offer); const headers = { Authorization: `Bearer ${token}`, 'Content-Type': 'application/sdp' }; const opts = { method: 'POST', body: offer.sdp, headers }; const resp = await fetch('https://api.openai.com/v1/realtime', opts); await pc.setRemoteDescription({ type: 'answer', sdp: await resp.text() }); return pc; }
降低 GPT-4o 和 GPT-4o mini 的实时快照成本:发布 gpt-4o-realtime-preview-2024-12-17,语音质量更高,输入更可靠,成本降低 60%。同时,推出 GPT-4o mini 的实时版本 gpt-4o-mini-realtime-preview-2024-12-17,以更低的成本提供相同的语音体验
更强大的响应控制:
•并发带外响应:支持后台任务,例如内容审核或分类,而不会中断用户的语音交互
•自定义输入上下文:允许开发者指定哪些会话项作为模型输入
•受控响应时序:支持使用服务器端语音活动检测(VAD),并手动触发语音回复,从而更好地控制时序和准确性
•最大会话时长:从 15 分钟增加到 30 分钟
3. 偏好微调:
微调 API 现在支持偏好微调,使开发者可以根据用户和开发者的偏好定制模型。该方法使用直接偏好优化(DPO)来比较模型响应对,教会模型区分偏好和非偏好输出。偏好微调在语气、风格和创造性等主观任务上尤为有效。
与监督微调相比,偏好微调具有以下差异:
监督微调 (SFT)偏好微调 (PFT)目标鼓励模型生成正确的输出 优化模型以倾向期望的行为
通过复制标记的输出 通过加强偏好响应并降低非偏好响应的可能性训练数据确切的输入和输出对 通过人工注释、A/B 测试或合成数据生成的偏好和非偏好模型输出对用例易于准备理想输出的任务,例如自定义代码格式和严格的正确性 对于“更好”的响应是主观的,例如创意写作或总结的任务更有效
偏好微调已开始与合作伙伴进行测试,并已取得令人鼓舞的成果。偏好微调将首先应用于 gpt-4o-2024-08-06,并将很快支持 gpt-4o-mini-2024-07-18。
4. Go 和 Java SDK:
OpenAI 还推出了两个新的官方 SDK,分别针对 Go 和 Java,以完善现有的 Python、Node.js 和 .NET 库。
Go SDK:适用于构建可扩展的 API 和后端系统。以下是 Go SDK 的示例代码:
client := openai.NewClient() ctx := context.Background() prompt := "Write me a haiku about Golang." completion, err := client.Chat.Completions.New( ctx, openai.ChatCompletionNewParams{ Messages: openai.F( []openai.ChatCompletionMessageParamUnion{ openai.UserMessage(prompt), }, ), Model: openai.F(openai.ChatModelGPT4o), }, )
Java SDK:则适用于企业软件开发,提供类型化的请求和响应对象,以及管理 API 请求的实用工具。以下是 Java SDK 的示例代码:
OpenAIClient client = OpenAIOkHttpClient.fromEnv(); ChatCompletionCreateParams params = ChatCompletionCreateParams .builder() .message(List.of( ChatCompletionMessageParam.ofChatCompletionUserMessageParam( ChatCompletionUserMessageParam .builder() .role(ChatCompletionUserMessageParam.Role.USER) .content( ChatCompletionUserMessageParam.Content.ofTextContent( "What is the origin of Java's Duke mascot?" ) ) .build() ) )) .model(ChatModel.O1_PREVIEW) .build(); ChatCompletion chatCompletion = client.chat().completions().create(params);
总结:
OpenAI 的此次更新为开发者带来了强大的工具和模型,旨在推动 AI 应用的创新和发展。无论你是构建新的语音应用、微调模型还是开发前沿的代理应用,这些更新都将为你带来更大的灵活性和效率。建议开发者查阅 API 文档,开始探索和实验这些新功能
参考:
https://openai.com/index/o1-and-new-tools-for-developers/
⭐星标AI寒武纪,好内容不错过⭐
用你的赞和在看告诉我~
求赞
热门跟贴