当前位置: 首页 > news >正文

2024年OpenAI DevDay发布实时 API、提示缓存等新功能

就在几天前,一些重要人物如前 CTO Mira Murati 离开了 OpenAI。因此,看到 Sam Altman 在 DevDay 上登台,讨论开发者的新产品,感觉有点奇怪。

随着公司内部的这些变化,你不禁会想:我们还应该信任他吗?

但这不是重点。让我们先把这些戏剧性事件放在一边,看看 Dev Day 的真正主题——OpenAI 刚刚为开发者宣布的新工具。

尽管领导层的变动令人担忧,但显然公司仍在向前推进。事实上,这次活动中有许多值得细细探讨的进展。

如果你错过了去年的 DevDay 2023,这里是自那时以来的一些最新进展:

  • 从 GPT-4 到 4o mini,每个 token 的成本下降了 98%

  • 系统中的 token 处理量增加了 50 倍

  • 显著的模型智能进展

实时 API(Realtime API)

DevDay 2024 的亮点无疑是实时 API

这个 API 使开发者能够在其应用程序中构建低延迟、多模态的对话功能,支持文本、音频以及函数调用。

以下是一个调用 API 的 javascript 示例代码。

const event = {type: 'conversation.item.create',item: {type: 'message',role: 'user',content: [{type: 'input_text',text: 'Hey, how are you doing?'}]}
};
ws.send(JSON.stringify(event));
ws.send(JSON.stringify({type: 'response.create'}));

那么,为什么开发者应该关心这个呢?

  1. 原生语音到语音: 不经过文本中介,意味着低延迟和更细腻的输出。

  2. 自然且可引导的语音: 模型具有自然的语调,能表现出笑声、低语等,并能遵循语气指引。

  3. 同时输出多模态: 文本对内容审核有用,而比实时更快的音频确保了稳定的播放。

现在,数千名开发者可以将这一功能集成到他们的应用中,开启了语音驱动应用的新潮流。

看看一些有机会提前体验实时 API 的开发者分享的产品示例:
在这里插入图片描述

“结果是,我们的学习者体验更加个性化和有帮助!今天,我们宣布推出 Live Roleplays,这是一种结合实时 API 和我们的学习引擎的新 Speak 体验,能够在各种角色扮演场景中提供沉浸式的口语练习。” —Andrew Hsu

以下是实时 API 的定价信息:

  • 文本输入:每 100 万个 token 5 美元

  • 文本输出:每 100 万个 token 20 美元

  • 音频输入:每 100 万个 token 100 美元(约每分钟 0.06 美元)

  • 音频输出:每 100 万个 token 200 美元(约每分钟 0.24 美元)

提示缓存(Prompt Caching)

接下来介绍的是提示缓存,这项功能显著减少了处理重复提示所需的成本和时间。

OpenAI 现在将把 API 请求路由到最近处理过相同或相似提示的服务器,这意味着你可以跳过重复的计算。对于处理长提示或复杂提示且经常重复使用的开发者来说,这项功能特别有用。

此功能可将长提示的延迟减少多达 80%,成本降低 50%。

提示缓存并不是一个全新的概念。事实上,Anthropic不久前推出了一个类似功能,允许开发者缓存经常使用的上下文,最多可减少 90% 的成本。

OpenAI 的提示缓存适用于以下模型:

  • gpt-4o

  • gpt-4o-mini

  • o1-preview

  • o1-mini

当你发出 API 请求时,流程如下:
在这里插入图片描述

  1. 缓存查找:系统检查你的提示的初始部分(前缀)是否已被缓存。

  2. 缓存命中:如果找到了匹配的前缀,系统将使用缓存结果。这显著减少了延迟并降低了成本。

  3. 缓存未命中:如果没有匹配的前缀,系统将处理你的完整提示。处理完成后,提示的前缀会被缓存以备将来使用。

这些缓存的前缀最多可以存储 10 分钟。但在非高峰期,缓存可能会持续长达一小时。

提示缓存的定价如下:

在这里插入图片描述

视觉微调(Vision Fine-Tuning)

DevDay 上另一个重要的新功能是视觉微调

此功能允许用户在 JSONL 文件中使用图像和文本来微调模型。这为不仅依赖文本输入,还可以利用视觉数据训练模型提供了可能性。

以下是 JSONL 文件中一行图像消息的示例。为了方便阅读,JSON 对象已展开,但通常情况下该 JSON 会出现在数据文件的单行中:

{"messages": [{ "role": "system", "content": "You are an assistant that identifies uncommon cheeses." },{ "role": "user", "content": "What is this cheese?" },{ "role": "user", "content": [{"type": "image_url","image_url": {"url": "https://upload.wikimedia.org/wikipedia/commons/3/36/Danbo_Cheese.jpg"}}] },{ "role": "assistant", "content": "Danbo" }]
}

那么,这有什么用呢?
OpenAI 与Grab等领先科技公司合作,展示了视觉微调在现实应用中的强大功能。Grab 是一家主要的食品配送和网约车服务公司,使用此功能提升了其GrabMaps平台的性能。该平台依赖于从司机收集的街道级图像来支持东南亚的运营。

通过使用 100 个样例微调GPT-4o,Grab 提升了识别交通标志和车道分隔线的能力。
在这里插入图片描述

结果是车道计数准确性提高了 20%,速度限制标志定位精度提高了 13%,简化了其地图绘制流程,减少了人工干预的需求。

*注意:您的训练图像不得包含人物、面部、验证码或违反我们使用条款的图像。*包含这些图像的数据集将被自动拒绝。

关于定价问题,OpenAI 目前提供每天 100 万个训练 token 的免费额度,时间截止到 2024 年 10 月 31 日,以用于通过图像微调 GPT-4o。

2024 年 10 月 31 日之后,GPT-4o 微调训练的费用为每 100 万个 token 25 美元,推理费用为每 100 万个输入 token 3.75 美元,每 100 万个输出 token 15 美元。

图像输入首先根据图像大小进行 token 化,然后按照与文本输入相同的 token 费率定价。

谈谈安全问题

尽管这些新功能很酷,但它们确实带来了安全隐患,尤其是实时 API。

我们正接近一个假电话可能与真实电话难以区分的世界。想象一下,你接到了一个听起来完全像你的老板或家人的电话,结果却发现那是 AI 的冒充。

不难想象恶意分子如何滥用这项技术。

事实上,几天前,联邦通信委员会罚款一名政治顾问 600 万美元,原因是他今年早些时候使用 AI 模拟乔·拜登总统的声音进行自动电话。

为了避免滥用,OpenAI 的 API 不能直接拨打餐馆或商店的电话。然而,AI 没有公开声明自己不是人类,因此很难确定你是否在与 AI 对话。目前,似乎开发者有责任添加某种类型的声明。

OpenAI 尝试缓解这些风险。对于语音交互,OpenAI 使用了一种音频安全基础设施,已被证明在最小化潜在滥用方面非常有效,尤其是防止被用于欺骗性目的,如误导电话或声音操纵。

关于视觉微调,微调后的模型完全由用户控制,确保了商业数据的完全所有权。OpenAI 不会在未经明确许可的情况下使用任何用于微调的输入或输出来训练模型,确保数据保持私密和安全。

最终思考

今天宣布了很多内容,但让我印象最深刻的是实时 API。

本质上,这是 ChatGPT 高级语音模式的 API 版本,我预计在未来几周内会有数百款基于该语音 API 的应用程序出现。

据 OpenAI 称,目前已有超过 300 万开发者正在利用其技术构建新应用和功能。

这些新宣布的产品,尤其是实时语音 API,可能有助于扩大这一关键用户群体并增加 OpenAI 的收入。

目前尚不清楚这些 API 在现实应用中有多直观或多具成本效益。

我计划构建一些概念验证(PoC)应用程序来测试它们,并将在后续帖子中分享我的发现。在此之前,我很想听听你对今年 DevDay 的看法。

哪一项产品发布让你最兴奋?请在评论中告诉我!

相关文章:

2024年OpenAI DevDay发布实时 API、提示缓存等新功能

就在几天前,一些重要人物如前 CTO Mira Murati 离开了 OpenAI。因此,看到 Sam Altman 在 DevDay 上登台,讨论开发者的新产品,感觉有点奇怪。 随着公司内部的这些变化,你不禁会想:我们还应该信任他吗&#…...

Raspberry Pi3B+之安装bookworm+Rpanion系统

Raspberry Pi3B之安装bookwormRpanion系统 1. 源由2. 系统安装3. 系统安装3.1 烧录系统3.2 设备接线3.3 配置无线3.4 更新系统3.5 安装git3.6 克隆Rpanion3.7 安装Rpanion 4. 系统管理5. 附录问题1:error: externally-managed-environment问题2:bookworm…...

无人机专业除理论外,飞手执照、组装、调试实操技术详解

无人机专业的学习除了丰富的理论知识外,飞手执照的获取、无人机的组装与调试等实操技术也是至关重要的。以下是对这些方面的详细解析: 一、无人机飞手执照 1. 必要性 法规要求:根据《民用无人驾驶航空器系统驾驶员管理暂行规定》等相关法规…...

【网路通信基础与实践番外二】TCP协议的流量控制和拥塞控制以及二者区别和例题

TCP协议是端对端的协议,因此在数据进行传输的过程受发送方,数据通道,接收方三方状态的影响。我们用水龙头来比喻数据发送方,水管来比喻数据通道,水桶来表示数据接收方。 图(a)表示水桶太小,来不及接受注入…...

SpringBoot3+Vue3开发后台管理系统脚手架

后台管理系统脚手架 介绍 在快速迭代的软件开发世界里,时间就是生产力,效率决定成败。对于构建复杂而庞大的后台系统而言,一个高效、可定制的后台脚手架(Backend Scaffold)无疑是开发者的得力助手。 脚手架 后台脚…...

OpenFeign微服务部署

一.开启nacos 和redis 1.查看nacos和redis是否启动 docker ps2.查看是否安装nacos和redis docker ps -a3.启动nacos和redis docker start nacos docker start redis-6379 docker ps 二.使用SpringSession共享例子 这里的两个例子在我的一个博客有创建过程&#xff0c…...

【C语言】数组(下)

【C语言】数组(下) 6、二维数组的创建6.1二维数组的概念6.2二维数组的创建 7、二维数组的初始化7.1不完全初始化7.2完全初始化7.3按照行初始化7.4初始化时可以省略行,但是不能省略列 8、二维数组的使用8.1 二维数组的下标8.2二维数组的输入和…...

cGANs with Projection Discriminator

基于映射鉴别器的CGAN 模型中,判别器(Discriminator)不是通过将条件信息简单地与特征向量拼接(concatenate)来使用条件信息,而是采用一种基于投影的方式,这种方式更加尊重条件信息在底层概率模…...

mysql学习教程,从入门到精通,SQL HAVING 子句(32)

1、SQL HAVING 子句 当然!HAVING 子句在 SQL 中用于对分组后的结果进行过滤。它通常与 GROUP BY 子句一起使用,以便对聚合函数(如 SUM(), COUNT(), AVG(), MAX(), MIN() 等)的结果进行条件筛选。 以下是一个示例,假设…...

JavaScript while循环语句

While语句包括一个循环条件和一段代码块&#xff0c;只要条件为真&#xff0c;就不断循环执行代码块。 while(条件){语句;} var i0;while(i<100){console.log(i);i1;} 注意&#xff1a;所有的for循环都可以改写为while循环...

49天精通Java(Day 2):Java的基本语法

上期内容回顾 在上一期的内容中&#xff0c;我们介绍了Java的基本概念、历史背景&#xff0c;并完成了JDK 1.8的安装与环境配置。你还编写并运行了第一个简单的Java程序“Hello, World!”。今天&#xff0c;我们将深入探讨Java的基本语法&#xff0c;包括变量、数据类型、运算…...

uni-app之旅-day01-home页

首页 3.0 创建 home 分支 &#x1f355;&#x1f355;&#x1f355;运行如下的命令&#xff0c;基于 master 分支在本地创建 home 子分支&#xff0c;用来开发和 home 首页相关的功能git branch(查看分支)git checkout -b home(创建home分支) 3.1 配置网络请求 &#x1f32…...

Vue3轻松实现导出Excel文件功能

文章目录 1.前言2.安装插件3.案例3.1 定义表格数据,设置 id 选择器3.2 据所选 dom 对象生成 sheetbook3.3 写入文件3.4 生成 xlsx文件4.完整代码1.前言 前端常用的导出 Excel的 js 库是 xlsx,但是 xlsx不能设置样式。要想设置样式,必要要结合 xlsx-style 插件一起使用,但是…...

在Kali Linux中使用VNC和iptables配置xrdp以实现远程连接

在Kali Linux中&#xff0c;使用VNC和iptables配置xrdp以实现远程连接涉及几个步骤。不过&#xff0c;值得注意的是&#xff0c;VNC和xrdp是两种不同的远程桌面协议&#xff0c;它们通常不会在同一配置中同时使用&#xff08;除非有特殊的网络架构需求&#xff09;。然而&#…...

小徐影院:Spring Boot技术下的影院革新

第四章 系统设计 4.1 系统的功能结构图 通过系统需求分析&#xff0c;本小徐影城管理系统的功能结构设计如图4-1所示&#xff1a; 图4-1 系统功能图 4.2 系统数据库设计 4.2.1 数据库E-R图 在该系统的信息中&#xff0c;由于数据库的支持&#xff0c;我们可以对数据库进行收集…...

命名空间

在 C 中&#xff0c;变量、函数和类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突&#xff0c;使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以避免命名冲突或名字污染&#xff0c;namespace 关键字的…...

使用 Elastic 将 AI 摘要添加到你的网站

作者&#xff1a;来自 Elastic Gustavo Llermaly 我们目前所知道的搜索&#xff08;搜索栏、结果、过滤器、页面等&#xff09;已经取得了长足的进步&#xff0c;并实现了多种不同的功能。当我们知道找到所需内容所需的关键字或知道哪些文档包含我们想要的信息时&#xff0c;尤…...

dOOv:Java 数据验证与映射库(简化业务逻辑)

dOOv 是一个为 Java 开发人员设计的轻量化库&#xff0c;专注于数据验证和对象间的映射。与传统的验证框架不同&#xff0c;dOOv 通过提供简洁、声明式的 API&#xff0c;使得开发者可以轻松地编写、扩展和维护验证和映射规则。其设计灵感源自领域驱动设计&#xff08;DDD&…...

Arthas sc(查看JVM已加载的类信息 )

文章目录 二、命令列表2.2 class/classloader相关命令2.2.5 sc&#xff08;查看JVM已加载的类信息 &#xff09;举例1&#xff1a;模糊搜索&#xff0c;xx包下所有的类举例2&#xff1a;打印类的详细信息举例3&#xff1a;打印出类的Field信息 本人其他相关文章链接 二、命令列…...

OCR 行驶证识别 离线识别

目录 正页识别 副页识别 全部识别 OCR 行驶证识别 离线识别 正页识别 副页识别 全部识别...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法&#xff0c;由约翰冯诺伊曼在1945年提出。其核心思想包括&#xff1a; 分割(Divide)&#xff1a;将待排序数组递归地分成两个子…...

Gitlab + Jenkins 实现 CICD

CICD 是持续集成&#xff08;Continuous Integration, CI&#xff09;和持续交付/部署&#xff08;Continuous Delivery/Deployment, CD&#xff09;的缩写&#xff0c;是现代软件开发中的一种自动化流程实践。下面介绍 Web 项目如何在代码提交到 Gitlab 后&#xff0c;自动发布…...