1 老表Max 说说说
了解学习一个东西,假如能够,一定先把东西玩起来,再去学习了解更详尽的知识。(爱好先培育起来)
所以第一课,咱们先了解怎么玩转 ChatGPT API。
《跟老表Max学ChatGPT》系列课程,将完好教咱们学习了解 ChatGPT,至少教会你:怎么运用 ChatGPT,提高工作、学习、生活功率。
更新频率:尽量一周一更。。。
2 获取 APIKEY
开端前你至少需求预备:
- 魔法办法
- 一个有调用额度的 ChatGPT APIKEY
假如是新注册账号,一般会有 5美元 免费额度,
# 查看额度页面
https://platform.openai.com/account/usage
# 创建 APIKEY 额度页面
https://platform.openai.com/account/api-keys
点击Create new secret key
即可新建一个 APIKEY 。
APIKEY 格式为:
sk-...LvD6
假如你的 APIKEY 没有调用额度,那么你拜访会出现错误,告知你当时 APIKEY 对应账号没有调用额度(一般来说,新注册的账号都会有5美元免费额度),假如想完成本次教程,需求 APIKEY 或许 ChatGPT 账号,能够私聊我微信:pythonbrief。
3 开端调用
从 ChatGPT 爆火开端,官方和各路开源大神就做了许多相关调用demo,甚至有 ChatGPT 克隆网站源码等。
官方也将这些项目做了一个汇总,咱们能够找自己了解的编程言语项目看看。
https://platform.openai.com/docs/libraries/community-libraries
我挑选直接用官方的 openai
Python 写相关代码。
首先你需求预备一个Python环境,并装置 openai 包,怎么装置环境和装置请看我的这篇文章。
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo-16k",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message)
假如咱们放到 Jupyterlab cell 里直接运转会出错,提示No API key provided
,由于咱们没有设置 OPENAI_API_KEY 这个环境变量。
咱们能够把代码改下,把咱们前面生成的 API_KEY 直接赋值给openai.api_key
,再运转发现仍是不行,由于网络不通。
这时分查看你家网络,能够开大局或许在代码里加上网络端口。网络设置好就好啦!
问点学习问题:怎么运用Python做网页自动化点击,给出一个代码案例
这个时分发现打印出来东西好像不认识了?是机器故障了吗,不是。这是触及中文,给 Unicode编码。
咱们能够直接本地把 content
打印出来,编辑器会帮咱们转码。
注: Selenium 最新版别 find_element_by_id 函数改成了 find_element,并经过参数指定查找形式,比方 By.XPATH,By.ID 等。
现在你就能够开端愉快的问自己想问的其他问题啦!从上面你应该看出怎么把问题改成自己的问题了吧?下一节继续学习。
4 根底了解
再学点根底知识。
官方文档有很详细介绍,假如你想深入研究学习,主张好好阅读官方文档。(后面都会给咱们拆解、介绍,有爱好一同拆解的能够私聊我微信,需求英语好点且懂一点编程的朋友)
https://platform.openai.com/docs/api-reference/introduction
在这里咱们能看到各种模型更全面的介绍,后面主要会运用的模型有:
- GPT-3.5 全能的AI对话模型,你能够用它练习你的言语表达能力、帮你修正BUG、给你讲笑话、各种角色扮演等。
- DALLE AI绘画模型,和SD MJ比是有距离,但平常自己用用也不差。
- Whisper 音频转文本模型,能够帮你把各种音频文件转成文字,再结合 GPT-3.5,你能够直接提取出音频中的重点等。
- Moderation OpenAI 提供的违规检测模型。
https://platform.openai.com/docs/models/overview
根底概念词理解:
-
GPTs: GPT (生成式预训练转换器) 模型经过训练,能够理解自然言语和代码,经过输入 “prompts” 输出文本,可用于多种任务,如内容生成、代码生成、摘要、对话等。
-
Embeddings: 是数据(如文本)的向量表明,旨在保留其内容和/或含义的特征,常用于搜索、聚类、引荐、异常检测、分类等。
-
Tokens: GPT和Embeddings模型将文本按照词块(tokens)进行处理,tokens表明常见的字符序列,例如 “tokenization” 被分解为 “token” 和 “ization”。输入的最大上下文长度关于GPT模型是prompt和生成输出的总和,而关于嵌入模型是输入的长度。
对话模型咱们运用gpt-3.5-turbo-16k
,支撑更多TOKENS,意味着能进行更多的连续对话。
4.1 调用约束
这是 APIKEY 的速率约束(rate limits)表格,该API被用于文本、嵌入(embedding)、聊天(chat)、图像(image)和音频(audio)处理。速率约束是指对API的恳求进行约束,以避免滥用或过度运用API资源。这些速率约束在安排等级进行办理,而不是用户等级,并根据运用的具体端点和账户类型进行调整。主要参数有:
- 每天恳求数(RPD)
- 每分钟恳求数(RPM)
- 每分钟令牌数(TPM)
从表格中能够看出,免费试用用户(新注册账号会有5美元调用额度)和按需付费用户的默认速率约束是不一样的。
比方咱们最常用的 chat 模型(如gpt-3.5-turbo-16k)免费试用用户每天最多能够经过API发送200次恳求,每分钟最多能发3个恳求,每分钟最多发送返回 token 数是 40000。
付费用户在前48小时和48小时后分别有不同的速率约束。关于某些特定模型(如gpt-3.5-turbo-16k),其TPM约束关于按需付费用户是表格中所列值的2倍。
最后,还提到了一个重要注意事项:速率约束会根据两个条件中先满意的状况进行核算,即假如一个恳求满意了每分钟令牌数约束,那么该恳求即便发送的令牌总数不满意每天恳求数约束,也会被视为超越速率约束。
4.2 调用费用
费用介绍页面:
https://openai.com/pricing
咱们主要关怀GPT-3.5 Turbo
,从下图能够看到该模型调用费用风两部分:Input 和 Output。
Input 便是咱们发送过去的问题经过解析后的 tokens 数,价格是 0.0015美元/1k tokens。
Output 便是 GPT 迭代出来的答案经过解析后的 tokens 数,价格是 0.002美元/1k tokens。
官方描绘是大概一页A4字包容的字数便是1k tokens。
咱们就按最高的 0.002来算,5美元额度大概能够转成 2500k tokens,也便是把 2500 页A4纸写满,即便加上日常速率啥的约束,平常用用肯定够的。