简单研究一下 OpenAI 的官方文档

文档地址:https://platform.openai.com/docs/
接口说明:https://platform.openai.com/docs/api-reference

一、概览

OpenAI API 可直接调用模型接口,也可在线微调(不过只能微调GPT-3系列模型)。
本小节主要介绍 tokenizer 和 model。

  • Tokens:对于英语,1个token平均是4个字符,0.75个单词;中文大概是2个token一个汉字。API限制了 prompt+生成内容 的 token 总数不能超过模型的最大上下文长度(大多数上限都是 2048 个token,大约 1500 个单词)。这个地址 可以测试 token 数量。这里用的和 GPT2 类似的 tokenizer。也可以用 openai 开源的 tokenize 工具 tiktoken (真是起名鬼才)。
    在这里插入图片描述
  • Models:详细模型列表点击这里。可用 gpttools 对比各个model的输出及相应时间。
    在这里插入图片描述
    几个常用的:
    • gpt-4:更擅长推理,8192 tokens
    • gpt-4-32k: 更大窗口,32768 tokens
    • gpt-3.5-turbo:GPT-3.5的对话版,4096 tokens,对话时可以先通过传入类似 {"role": "system", "content":"你是一个程序员"} 引导模型身份, 然后再通过 userassistant 交替的形式实现多轮对话
    • text-davinci-003:指令微调+RLHF,4097 tokens
    • text-davinci-002:只有指令微调,4097 tokens
    • code-davinci-002:代码生成,8001 tokens
    • text-embedding-ada-002:详见官网,用于文本向量化,窗口 8192 tokens,维度 1536
      在这里插入图片描述
    • text-moderation-latest:文本审核模型,包括 hate, hate/threatening, self-harm, sexual, sexual/minors, violence, and violence/graphic 这几个类
    • 其他模型性能一般的就不过多介绍了。

二、使用

可以直接python安装openai库,也可以发送post请求

2.1 方式一:openai python 库

安装:

$ pip install openai

运行:

import os
import openai

# Load your API key from an environment variable or secret management service
openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
	model="text-davinci-003", 
	prompt="Say this is a test", 
	temperature=0, # 控制多样性,越接近1 多样性越大
	max_tokens=7
)

2.2 方式二:post请求

post请求接口调用,可参考下面这个表:

在这里插入图片描述
以 gpt-3.5-turbo 的调用方式为例:

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

必填参数是 model 和 message,可选参数如下:

  • temperature:float 类型,默认值为 1。控制采样,可选0-2之间的值,小于0.2生成的东西就很确定,大于0.8就很多样。建议和下面 top_p 二选一,不要一起用。

  • top_p:float 类型,默认值为 1。控制采样前 top_p 概率的token,可选0-1之间的值。

  • n:int 类型,默认值为 1。一次性生成多少个可选结果。

  • max_tokens:int 类型,默认值为 inf。生成的最大token数量。

  • stop:str 或 list 类型,默认值为 null。用于早停,生成内容包含stop时停止生成。

  • stream:bool 类型,默认值为 false。如果开启,就会流式返回,就跟chatGPT似的一个字儿一个字儿往外出。

  • presence_penalty:float 类型,默认值为 0。可选 -2.0 到 2.0。若为正数,越大越禁止模型生成输入中包含的重复内容,用于主题发散。

  • logit_bias:json 类型,默认值为 null。用来控制某些 token 的生成概率。数值是 -100 到 100,-100 相当于尽量别生成这个词,100 相当于一定要生成这个词。

  • frequency_penalty:float 类型,默认值为 0。可选 -2.0 到 2.0。若为正数,越大越禁止模型生成整体高频词,用于避免重复生成。

  • user:str 类型,可自己定义并标识用户id以防滥用。

此外,关于 bearer token 用于认证,可参考这篇文章。

三、限制

两者限制方式:RPM(每分钟request数)和 TPM(每分钟token数)
在这里插入图片描述

四、定价

详见:https://openai.com/pricing
常用的几个:

  • gpt-4gpt-4-32k:8k版本平均 $0.045 / 1000 tokens,差不多 3 毛钱 500 汉字
    在这里插入图片描述

  • gpt-3.5-turbo:ChatGPT,大约 0.0138 元 1000 tokens,差不多 1.38 元 5w 汉字
    在这里插入图片描述

  • text-davinci-003:$0.02 / 1K tokens(比 gpt-3.5-turbo 贵 10 倍)

  • text-embedding-ada-002:$0.0004 / 1K tokens(差不多 2.8 元 100w token,50w汉字)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

定长内存池的实现

文章目录 什么是内存池 池化技术内存池内存池主要解决的问题malloc定长内存池的实现前言 当前项目是实现一个高并发的内存池,他的原型是Google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现…

python用户价值分析

数据获取: 表格数据 数据清洗后数据:链接:https://pan.baidu.com/s/1D7qOZqKmF3YR3meQPsp3sQ 提取码:1234 数据下载下来后,先进行数据清洗。数据清洗在进行用户价值分析,也可以直接下载我清洗后的数据。 RFM模型&a…

springcloud微服务架构搭建过程

项目地址:源代码 仅作为学习用例使用,是我开发过程中的总结、实际的一部分使用方式 开发环境: jdk11 springboot2.7.6 springcloud2021.0.5 alibabacloud 2021.0.4.0 redis6.0 mysql8.0 一、项目搭建 wdz-api:存放远程服务调用相关…

如何选电脑

1、CPU(中央处理器) 怎么看CPU型号:CPU:系列-代数等级核心显卡型号电压后缀 例如CPU:i7-10750H : 1、系列:Intel的酷睿i3、i5、i7、i9这四个系列的CPU,数字越大就代表越高端。 2、代数:代表…

自主HttpServer实现(C++实战项目)

文章目录项目介绍CGI技术概念原理设计框架日志文件TCPServer任务类初始化与启动HttpServerHTTP请求结构HTTP响应结构线程回调EndPoint类EndPoint主体框架读取HTTP请求处理HTTP请求CGI处理非CGI处理构建HTTP响应发送HTTP响应接入线程池简单测试项目扩展项目介绍 该项目是一个基…

大厂光环下的功能测试,出去面试自动化一问三不知

在一家公司待久了技术能力反而变弱了,原来的许多知识都会慢慢遗忘,这种情况并不少见。 一个京东员工发帖吐槽:感觉在大厂快待废了,出去面试问自己接口环境搭建、pytest测试框架,自己做点工太久都忘记了。平时用的时候…

无公网IP,SSH远程连接Linux CentOS服务器【内网穿透】

文章目录视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路…

地表最强,接口调试神器Postman ,写得太好了

postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。 无论是开发人员进行接口调试,还是测试人员做接口测试,postman都是我们的首选工具之一 。 那么接下来就介绍下postman到底有哪些功…

吉林省互联网医院资质申请条件|牌照申请

吉林省互联网医院资质申请条件|牌照申请|长春市|四平市|辽源市|通化市|白山市|松原市|白城市|延边朝鲜族自治州 吉林省互联网医院资质申请条件   一、《医疗机构管理条例》第十六条申请医疗机构执业登记,应具备下列条件:   1.有设置医疗机构批准书&a…

论文笔记 | 标准误聚类问题

关于标准误的选择,如是否选择稳健性标准误、是否采取聚类标准误。之前一直是困惑的,惯用的做法是类似主题的文献做法。所以这一次,借计量经济学课程之故,较深入学习了标准误的选择问题。 在开始之前推荐一个知乎博主。他阅读了很…

【vue2】axios请求与axios拦截器的使用详解

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:当我们在路由跳转前与后我们可实现触发的操作 【前言】ajax是一种在javaScript代码中发请…

使用对象存储库管理 UFT 中的对象

1. 记录一个新订单 在UFT 菜单栏中,选择 File] New|Test 创建一个新的测试。单击 Record,出现 Record and Run Settings。单击 Record and Run Settings 对话框的OK 按钮。单击 New Order 按钮,设置初始条件。输入以下航班信息。航班日期: 选…

台灯有必要买一百多的吗?2023专家建议孩子买台灯

问题:台灯有必要买一百多的吗? 回答:不建议买一百多的台灯,建议选择国AA级的台灯 现在许多学生出现视力问题,原因是在平时没有注意到不良好的用眼环境 孩子早早戴上小眼镜,家长不惜花心思去买各种视力保护…

flstudio怎么改主题,如何更改FL Studio21背景图片

fl studio作为一款功能强大且实用的音频处理和音乐制作软件,其精致的界面布局一直为众多音乐人所喜爱,但是fl studio编曲软件安装后初始内置的灰黑色工作区背景,难免成为美中不足的一点。 那么用户如何根据自己的喜好设置工作区背景呢&#x…

Java基础知识

Java基础知识 一、计算机开发语言发展 计算机语言总体可分为机器语言、汇编语言、高级语言三大类,这三类开发语言恰恰是计算与开发语言的三个阶段。 机器语言:机器语言是第一代计算机开发语言,是通过最原始的穿孔卡片(二进制有孔…

《疯狂Java讲义》读书笔记3

这两天总结了数据结构中栈的用法,对栈的初始化、出栈、入栈的总结: http://t.csdn.cn/7sKjQ 对双栈共享的初始化、入栈、出栈的总结: http://t.csdn.cn/4WXCO 调用父类构造器 子类不会获得父类的构造器,但是可以调用父类构造…

聊一聊前端的性能指标

一、前端性能指标有哪些? 根据 chrome Lighthouse 最新规则,前端性能指标考量主要有 FCP(First Contenful Paint)、SI(Speed Index)、LCP(Largest Contentful Paint)、TBT&#xff…

四个常见的Linux技术面问题

刚毕业要找工作了,只要是你找工作就会有面试这个环节,那么在面试环节中,有哪些注意事项值得我的关注呢?特别是专业技术岗位,这样的岗位询问一般都是在职的工程师,如何在面试环节更好地理解面试官的问题&…

IDEA的热部署【MyBatis XML热部署 】

本文适用修改JAVA代码热部署、MyBatis XML的热部署。 一、JAVA代码热部署. 新版IDEA中:开启允许在运行过程中修改文件 最后要在Debug模式启动,可以看到热部署的加载文件了,可以手动点左边那个图标立即加载生效. 二、MyBatis XML修改热部署. MybatisMap…

MFCC语音特征值提取算法

博主简介 博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的&#xff0c…