在 OpenAI 今天凌晨的第九场发布会上 ,其焦点主要放在 API 和开发者服务的全新升级上,并宣布向 API 使用等级 5 级的开发者开放 OpenAI o1 API 的访问权限。

据官方介绍,现已正式上线的 o1 具备多项关键功能,可支持实际应用场景如下:

  • 函数调用:无缝连接 o1 与外部数据和 API。
  • 结构化输出:生成可靠地遵循自定义 JSON 模式的响应。
  • 开发者指令:为模型指定指令或上下文,例如定义语气、风格以及其他行为指导。
  • 视觉能力:推理图像,开启更多科学、制造或编程领域的应用,特别是在视觉输入至关重要的场景中。
  • 更低延迟:与 o1-preview 相比,o1 在处理相同请求时,推理 token 使用量平均减少 60%。

OpenAI 对 Realtime API 也进行了全面升级。新版本特别适合开发语音助手、实时翻译工具等应用场景。同时,Realtime API 能够集成到智能眼镜等可穿戴设备中,或者轻松接入各类摄像头和麦克风系统。

Realtime API 此次更新重点包括 WebRTC 直接集成、价格调整以及更精细的响应控制。

据介绍,WebRTC 可自动处理音频编码、流媒体传输、降噪和拥塞控制等关键功能,即使在网络条件不稳定的情况下也能保证流畅的用户体验。

Realtime API 还新增了多项实用功能:

  • 后台任务,如内容审核或分类,可以在不干扰用户语音互动的情况下进行。
  • 允许自定义输入上下文,指定哪些对话内容作为模型的输入。
  • 控制响应时机,利用服务器端语音活动检测(VAD),但不自动触发回应。
  • 延长最大会话时长,将原本 15 分钟的会话时长增加到 30 分钟。

在定价方面,OpenAI 大幅下调了相关服务费用:gpt-4o-realtime-preview-2024-12-17 音频 token 价格下调 60%,降至每百万输入 token 40 美元,每百万输出 token 80 美元;音频输入缓存费用仅需每百万 token 2.50 美元,大幅下降 87.5%;同时推出的 GPT-4o mini 为开发者提供了更具性价比的选择,在保持体验的同时,将音频价格设定为每百万输入 token 10 美元,每百万输出 token 20 美元,文本 token 则分别为 0.60 美元和 2.40 美元。

另外,此次更新还为微调 API 带来了偏好微调(Preference Fine-Tuning)技术。其采用直接偏好优化(DPO)技术,通过比较模型响应来训练 AI 区分用户偏好。

下面是官方对最新 o1 API 的基准测试结果对比:

OpenAI 开放满血 o1 API:成本爆降、延迟更低插图

OpenAI 开放满血 o1 API:成本爆降、延迟更低插图1

最后,OpenAI 还发布了 Go 和 Java SDK 测试版,与现有的 Python、Node.js 和 .NET 库一起,为开发者提供更全面的开发工具支持。

Go

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

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);

详情查看:https://openai.com/index/o1-and-new-tools-for-developers/

免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表一休教程网的观点和立场。