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

news2025/2/25 3:45:40

今天凌晨,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 openai

completion = 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 openai

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

translate

import openai

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/387346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

供应链依赖:您的GitHub连接可能会触发什么?

不祥之兆,在针对 GitHub 存储库的攻击激增之后,很难避免。 最近的CircleCI漏洞(客户的机密和加密密钥被盗)清楚地表明,攻击者已经了解并利用了这个向量。 现在比以往任何时候都更需要公司保护这些非人类连接&#xf…

记录2023.3.3下午的校招

文章目录一、校招的总览意义😎二、校招时,公司是怎么做的?如何提问的?我又是怎么回答的🤔2.1 公司最喜欢提问你的问题🙌三、校招期间,我应该如何去了解一家企业?😀三、建…

LeetCode 982. 按位与为零的三元组 -- 哈希统计

按位与为零的三元组 困难 101 相关企业 给你一个整数数组 nums &#xff0c;返回其中 按位与三元组 的数目。 按位与三元组 是由下标 (i, j, k) 组成的三元组&#xff0c;并满足下述全部条件&#xff1a; 0 < i < nums.length 0 < j < nums.length 0 < k <…

【C++笔记】异常处理

C语言处理错误的方式 传统的错误处理机制&#xff1a; 1.终止程序缺陷&#xff1a;用户难以接受。 2.返回错误码&#xff1a;缺陷&#xff1a;需要自己去查错误码对应的解释。 C语言一般使用错误码来处理错误&#xff0c;部分情况下才会用终止情况处理处理严重的错误。 C异常…

初识Liunx下的进程状态和环境变量以及进程优先级

文章目录前言1.进程状态1.阻塞与挂起2.Linux下的进程状态1.概念知识2.R状态2.休眠状态(S/D&#xff09;3.T状态4.Z状态(僵尸进程)和X状态5.孤儿进程3.环境变量1.概念2.获取环境变量1.环境变量表2.函数获取环境变量3.关于环境变量的理解和main函数中的两个参数1.环境变量的理解2…

学习笔记--目标检测基础知识大全

来源&#xff1a;投稿 作者&#xff1a;LSC 编辑&#xff1a;学姐 目录 1.特点 2.数据集 2.1 VOCS数据集 2.2 COCO数据集 3.评价指标 3.1 GroundTruth 3.2 IOU(交并比&#xff0c;Intersection over Union) 3.3 基本指标 3.4 AP与mAp 3.5 案例演示 4. 脑图&#xff…

代码规范----编程规约(下)

目录 四、OOP规约 五、日期时间 六、集合处理 四、OOP规约 &#xff08;1&#xff09;、避免通过一个类的对象引用访问此类的静态变量或静态方法&#xff0c;无谓增加编译器解析成本&#xff0c;直接用类名来访问即可 &#xff08;2&#xff09;、所有的覆写方法&#xff0…

【C语言学习笔记】:二级指针

指针可以指向一个普通类型的数据&#xff0c;例如 int、double、char 等&#xff0c;也可以指向一个指针类型的数据&#xff0c;例如 int *、double *、char * 等。 如果一个指针指向的是另外一个指针&#xff0c;我们就称它为二级指针&#xff0c;或者指向指针的指针。 假设…

Leetcode.2017 网格游戏

题目链接 Leetcode.2017 网格游戏 Rating &#xff1a; 1719 题目描述 给你一个下标从 0 开始的二维数组 grid&#xff0c;数组大小为 2 x n&#xff0c;其中 grid[r][c]表示矩阵中 (r, c)位置上的点数。现在有两个机器人正在矩阵上参与一场游戏。 两个机器人初始位置都是 (0…

带你看懂RuoYi动态数据源切换

文章目录数据源是什么一、spring中是如何处理各种数据源的&#xff1f;1.开搞springboot2.创建一个测试类二、有了如上的理论,那么想想动态切换数据源吧参考若依的动态数据源配置总结数据源是什么 数据源,对于java来说,就是可用的数据库,那么我平时开发的springboot springclo…

算机网络安全基础知识5:sql注入漏洞攻击,DVWA演示sql注入漏洞,如何利用sql注入查看数据库信息,sqlmap,sql注入漏洞的防御

算机网络安全基础知识5:sql注入漏洞攻击&#xff0c;DVWA演示sql注入漏洞&#xff0c;如何利用sql注入查看数据库信息&#xff0c;sqlmap&#xff0c;sql注入漏洞的防御 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能…

Unity/C#------委托与事件(一篇文章彻底搞懂...)

一&#xff1a;委托 所有的代码语言创造者母语都是英语&#xff0c;我们从英语翻译到中文的过程中难免会存在一些不太能还原本意的词&#xff0c;比如我之前一直不理解构造函数和析构函数&#xff0c;只知道这俩货作用相反&#xff0c;直到我看到了它的英文意思&#xff0c;Con…

spring重点整理篇--springMVC(嘿嘿,开心哟)

Spring MVC是的基于JavaWeb的MVC框架&#xff0c;是Spring框架中的一个组成部分(WEB模块) MVC设计模式&#xff1a; Controller&#xff08;控制器&#xff09; Model&#xff08;模型&#xff09; View&#xff08;视图&#xff09; 重点来了&#x1f604; SpringMVC的工作机制…

Nginx+Tomcat实现负载均衡、动静分离(脚本方法)

一、Nginx 负载均衡实现原理1、Nginx 实现负载均衡是通过反向代理实现反向代理&#xff08;Reverse Proxy&#xff09; 是指以 代理服务器&#xff08;例&#xff1a;Nginx&#xff09; 来接受 internet 上的连接请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0…

【PGMAN:无监督的生成式多对抗网络】

PGMAN: An Unsupervised Generative Multiadversarial Network for Pansharpening &#xff08;PGMAN&#xff1a;一种无监督的生成式多对抗网络&#xff09; 全色锐化的目的是融合低分辨率多光谱&#xff08;MS&#xff09;图像和由卫星获取的高分辨率全色&#xff08;PAN&a…

OnlyOffice验证(三)OnlyOffice编译结果自制Docker镜像

OnlyOffice验证&#xff08;三&#xff09;OnlyOffice编译结果自制Docker镜像 之前验证了OnlyOffice验证&#xff08;二&#xff09;在Centos7上部署OnlyOffice编译结果&#xff0c;由于现在普遍都是容器化部署&#xff0c;所以还是验证下Doker镜像打包是否可行&#xff0c;因为…

渗透five86-2

kali的ip为192.168.56.104&#xff0c;利用nmap或arp-scan -l查看发现了靶机ip192.168.56.120这里存在20、21、80端口&#xff0c;这边需要将靶机ip进行域名绑定&#xff0c;对/etc/hosts改写&#xff0c;将192.168.56.120 与five86-2绑定输入ip后&#xff0c;发现了有log in由…

Kubernetes的网络架构及其安全风险

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/129137821 一、常见的Kubernetes网络架构 如图所示&#xff1a; 说明&#xff1a; 1、集群由多个节点组成。 2、每个节点上运行若干个Pod。 3、每个节点上会创建一个CNI网桥&#xff08;默认设备名称…

Qt——自定义界面之QStyle

1. Qt控件结构简介 首先我们要来讲讲GUI控件结构&#xff0c;这里以QComboBox为例&#xff1a; 一个完整的控件由一种或多种GUI元素构成&#xff1a; Complex Control Element。Primitive Element。Control Element。 1.1 Complex Control Element Complex control elements …

【C语言跬步】——指针数组和数组指针(指针进阶)

一.指针数组和数组指针的区别 1.指针数组是数组&#xff0c;是一种存放指针的数组&#xff1b; 例如&#xff1a; int* arr[10]; 2.数组指针是指针&#xff0c;是一种指向数组的指针&#xff0c;存放的是数组的地址&#xff1b; 例如&#xff1a; int arr[5]; int (p)[5]&a…