1 老表Max 说说说

了解学习一个东西,假如能够,一定先把东西玩起来,再去学习了解更详尽的知识。(爱好先培育起来)

所以第一课,咱们先了解怎么玩转 ChatGPT API。

《跟老表Max学ChatGPT》系列课程,将完好教咱们学习了解 ChatGPT,至少教会你:怎么运用 ChatGPT,提高工作、学习、生活功率。

更新频率:尽量一周一更。。。

2 获取 APIKEY

开端前你至少需求预备:

  • 魔法办法
  • 一个有调用额度的 ChatGPT APIKEY

假如是新注册账号,一般会有 5美元 免费额度,

# 查看额度页面
https://platform.openai.com/account/usage

跟老表Max学ChatGPT | 先玩起来

# 创建 APIKEY 额度页面
https://platform.openai.com/account/api-keys

点击Create new secret key即可新建一个 APIKEY 。

跟老表Max学ChatGPT | 先玩起来

APIKEY 格式为:

sk-...LvD6

假如你的 APIKEY 没有调用额度,那么你拜访会出现错误,告知你当时 APIKEY 对应账号没有调用额度(一般来说,新注册的账号都会有5美元免费额度),假如想完成本次教程,需求 APIKEY 或许 ChatGPT 账号,能够私聊我微信:pythonbrief。

3 开端调用

从 ChatGPT 爆火开端,官方和各路开源大神就做了许多相关调用demo,甚至有 ChatGPT 克隆网站源码等。

官方也将这些项目做了一个汇总,咱们能够找自己了解的编程言语项目看看。

https://platform.openai.com/docs/libraries/community-libraries

跟老表Max学ChatGPT | 先玩起来

我挑选直接用官方的 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 这个环境变量。

跟老表Max学ChatGPT | 先玩起来

咱们能够把代码改下,把咱们前面生成的 API_KEY 直接赋值给openai.api_key,再运转发现仍是不行,由于网络不通。

跟老表Max学ChatGPT | 先玩起来

这时分查看你家网络,能够开大局或许在代码里加上网络端口。网络设置好就好啦!

跟老表Max学ChatGPT | 先玩起来

问点学习问题:怎么运用Python做网页自动化点击,给出一个代码案例

这个时分发现打印出来东西好像不认识了?是机器故障了吗,不是。这是触及中文,给 Unicode编码。

跟老表Max学ChatGPT | 先玩起来

咱们能够直接本地把 content 打印出来,编辑器会帮咱们转码。

跟老表Max学ChatGPT | 先玩起来
注: 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

跟老表Max学ChatGPT | 先玩起来

根底概念词理解:

  • GPTs: GPT (生成式预训练转换器) 模型经过训练,能够理解自然言语和代码,经过输入 “prompts” 输出文本,可用于多种任务,如内容生成、代码生成、摘要、对话等。

  • Embeddings: 是数据(如文本)的向量表明,旨在保留其内容和/或含义的特征,常用于搜索、聚类、引荐、异常检测、分类等。

  • Tokens: GPT和Embeddings模型将文本按照词块(tokens)进行处理,tokens表明常见的字符序列,例如 “tokenization” 被分解为 “token” 和 “ization”。输入的最大上下文长度关于GPT模型是prompt和生成输出的总和,而关于嵌入模型是输入的长度。

对话模型咱们运用gpt-3.5-turbo-16k,支撑更多TOKENS,意味着能进行更多的连续对话。

跟老表Max学ChatGPT | 先玩起来

4.1 调用约束

跟老表Max学ChatGPT | 先玩起来

这是 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。

跟老表Max学ChatGPT | 先玩起来
Input 便是咱们发送过去的问题经过解析后的 tokens 数,价格是 0.0015美元/1k tokens。

Output 便是 GPT 迭代出来的答案经过解析后的 tokens 数,价格是 0.002美元/1k tokens。

官方描绘是大概一页A4字包容的字数便是1k tokens。

咱们就按最高的 0.002来算,5美元额度大概能够转成 2500k tokens,也便是把 2500 页A4纸写满,即便加上日常速率啥的约束,平常用用肯定够的。