成本降低90%,OpenAI正式开放ChαtGΡΤ

news/2024/10/31 7:30:31/

今天凌晨,OpenAI官方发布ChαtGΡΤ和Whisper的接囗,开发人员现在可以通过API使用最新的文本生成和语音转文本功能。OpenAI称:通过一系列系统级优化,自去年12月以来,ChαtGΡΤ的成本降低了90%;现在OpenAI用这些节省下来的成本造福广大开发者。开发人员现在通过API使用Whisper v2大模型,从而获得更快的速度和更经济成本。ChαtGΡΤ模型会不断得到升级改进,并提供专用容量来对模型进行更深入的控制。

在这里插入图片描述

文章目录

    • ChαtGΡΤ接囗
      • 模型
      • 接口
      • 最佳实践
    • Whisper接囗
      • transcribe
      • translate

ChαtGΡΤ接囗

模型

OpenAI发布的ChαtGΡΤ模型名称为gpt-3.5-turbo,它与ChαtGΡΤ产品中使用的模型相同。价格0.002美元/1000 token,比之前的text-davinci-003便宜10倍。gpt-3.5-turbo在聊天场景下表现经验,许多非聊天场景应用也可以表现优秀,开发者只需要极少调整就可以将模型由text-davinci-003切换到gpt-3.5-turbo

在这里插入图片描述

OpenAI会不断改进 ChαtGΡΤ 模型,因此gpt-3.5-turbo模型会不断更新(4月会升级到最新稳定版本),OpenAI也推荐大家使用gpt-3.5-turbo模型。为了满足开发者对特定模型版本的需求,OpenAI还提供了特定快照版。目前提供的特定快照版为gpt-3.5-turbo-0301,该版本在接下来的三个月内不更新,有效期到2023年6月1日。

模型名称描述最大请求训练数据
gpt-3.5-turbo功能最强大的 GPT-3.5 模型,并针对聊天场景进行了专门优化,成本仅为 text-davinci-003 的 1/10。 会不断迭代更新。4,096 tokens截至2021年6月
gpt-3.5-turbo-0301gpt-3.5-turbo的2023年3月1日快照版本。此模型在加下来3个月内不会更新,有效期截止2023年6月1日。4,096 tokens截至2019年10月

接口

由于gpt-3.5-turbo为聊天而场景设计,所以接口设计上发生了一点变化。在GPT-3接口中,问题是通过prompt字段传入的,gpt-3.5-turbo没有prompt字段,取而代之的是messages数组。下面是一个典型的接口调用例子:

import openaicompletion = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "你是一个聪明的助理"},{"role": "user", "content": "哪支球队赢得了2018世界杯?"},{"role": "assistant", "content": "法国国家男子足球队获得2018年俄罗斯世界杯。"},{"role": "user", "content": "决赛对手是谁?"}]
)
print(completion)

上面示例代码中,我们将多轮对话封装到messages数组中,每条消息都有rolecontentrole的可选值为system, user, assistantcontent是消息内容。

通常,对话的格式首先是system消息,然后是交替的user消息和assistant消息。

system消息有助于设置模型的行为。在上面的例子中,模型被告知“你是一个聪明的助理”,模型就会扮演一个助理角色,输出的内容会尽可能像一个助理一样简洁清晰。

user消息有助于指导模型。它即可以是用户的问题(通常是最后一条),也可以是开发人员的指令设置或上下文提示。

assistant消息有助于存储上下文。它即可以是模型之前的输出,也可以由开发人员编写,用于给出所需行为的示例。

由于模型没有过去请求的记忆,所以必须通过对话提供所有相关信息。因此包含历史回话有助于模型更好理解问题。上面实例中,如果没有中间的user消息和assistant消息,单独问模型"决赛对手是谁?"模型是很难给出正确回答的。

gpt-3.5-turbo的返回数据格式也稍有变化。GPT-3接口的输出封装在text字段中,gpt-3.5-turbo的输出封装在message字段中,并且同样由rolecontent构成。我们可以简单地通过completion['choices'][0]['message']['content']获取输出。

最佳实践

由于gpt-3.5-turbo的表现与text-davinci-003类似,但价格是text-davinci-003的1/10,因此官方建议在大多数使用情况下使用gpt-3.5-turbo

对于开发者来说,需要改动的地方很少,只需要将prompt改为messages格式即可。

"prompt": "哪支球队赢得了2018世界杯?"

改为:

messages: [{"role": "system", "content": "你是一个聪明的助理"},{"role": "user", "content": "哪支球队赢得了2018世界杯?"}
]

或者更简单地改为:

messages: [{"role": "user", "content": "哪支球队赢得了2018世界杯?"}
]

⚠注意:gpt-3.5-turbo和gpt-3.5-turbo-0301不支持微调。

Whisper接囗

Whisper是OpenAI于2022年9月开源的语音转文本模型,推出后获得开发者社区的极大赞誉。现在我们可以通过API调用Whisper v2模型,价格为0.006美元/分钟。与其他服务相比,高度优化的服务堆栈可确保Whisper具有更快的性能。

在这里插入图片描述

Whisper API提供transcribetranslate接口,支持多种音频格式(m4a、mp3、mp4、mpeg、mpga、wav、webm)。

transcribe

import openaiaudio_file= open("/path/to/file/audio.mp3", "rb")
transcript = openai.Audio.transcribe("whisper-1", audio_file)

translate

import openaiaudio_file= open("/path/to/file/audio.mp3", "rb")
transcript = openai.Audio.translate("whisper-1", audio_file)

Whisper目前支持南非荷兰语、阿拉伯语、亚美尼亚语、阿塞拜疆语、白俄罗斯语、波斯尼亚语、保加利亚语、加泰罗尼亚语、中文、克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、加利西亚语、德语、希腊语、希伯来语、印地语、匈牙利语、冰岛语、印度尼西亚语、 意大利语、日语、卡纳达语、哈萨克语、韩语、拉脱维亚语、立陶宛语、马其顿语、马来语、马拉地语、毛利语、尼泊尔语、挪威语、波斯语、波兰语、葡萄牙语、罗马尼亚语、俄语、塞尔维亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、斯瓦希里语、瑞典语、他加禄语、 泰米尔语、泰语、土耳其语、乌克兰语、乌尔都语、越南语和威尔士语。

支持中文!支持中文!支持中文!


http://www.ppmy.cn/news/29807.html

相关文章

【大数据离线开发】8.3 Hive的数据模型

8.4 Hive的数据模型 Hive的数据存储 基于HDFS没有专门的数据存储格式存储结构主要包括:数据库、文件、表、视图可以直接加载文本文件(.txt文件)创建表时,指定Hive数据的列分隔符与行分隔符 8.4.1 内部表 hive 的内部表类似 My…

【超级猜图案例上半部分的实现 Objective-C语言】

一、超级猜图这么一个案例: 1.实现之后的效果是这样的: 1)中间有一个图片,点一下,能放大,背景变半透明的黑色: 2)再点一下图片,或者点周围黑色的阴影,图片回归原状, 3)右边有一个“大图”按钮,点一下,实现跟点图片一样的效果, 4)左边有一个“提示”按钮,点…

六、栈、栈的相关问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、栈 1.栈概述 2.栈的实现 2.1 栈的API 2.2 栈的实现 二、栈的括号匹配问题 1.问题描述 2.代码实现 三、逆波兰表达式求值问题 1.问题描述 2.代码 总结 前言 提…

超长文解析Linux块设备驱动编写方法

1.前提知识 一个块驱动提供对块存储设备(比如 SD 卡、EMMC、NAND Flash、Nor Flash、SPI Flash、机械硬盘、固态硬盘等)以固定大小(块的大小由内核决定,常常是 4096 字节 )的块为基本单位,进行随机的存取。…

路由器与交换机的区别(基础知识)

文章目录交换机路由器路由器和交换机的区别(1)工作层次不同(2)数据转发所依据的对象不同(3)传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域(4&#…

Handler与线程

简介 Handler提供的种异步消息处理机制是:当它发出一个消息进入消息队列后,发送消息的函数立刻返回,接着主线程会逐个地从消息队列中把消息取出,然后对消息进行处理。明显,Handler发送消息和接收消息是异步进行的&…

Scala变量和数据类型

文章目录Scala变量和数据类型一、注释1. 基本语法2. 案例实操3. 代码规范二、变量和常量(重点)1. 回顾:Java 变量和常量语法2. 基本语法3. 案例实操三、标识符的命名规范1. 命名规则2. 案例实操四、字符串输出1. 基本语法2. 案例实操五、键盘…

IO详解(文件,流对象,一些练习)

目录 文件 文件概念 文件的路径 路径有俩种表示风格 文件类型 如何区分文本文件还是二进制文件? java对文件的操作 File类中的一些方法 流对象 流对象的简单概念 java标准库的流对象 1.字节流,(操作二进制数据的) 2.字符流 (操作文本数据的) 流对象最核心的四个…