跟老表Max学ChatGPT | 先玩起来

1 老表Max 说说说

了解学习一个东西,如果可以,一定先把东西玩起来,再去学习了解更细致的知识。(兴趣先培养起来)

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

《跟老表Max学ChatGPT》系列课程,将完整教大家学习了解 ChatGPT,至少教会你:如何使用 ChatGPT,提升工作、学习、生活效率。

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

2 获取 APIKEY

开始前你至少需要准备:

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

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

bash 复制代码
# 查看额度页面
https://platform.openai.com/account/usage
bash 复制代码
# 创建 APIKEY 额度页面
https://platform.openai.com/account/api-keys

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

APIKEY 格式为:

bash 复制代码
sk-...LvD6

如果你的 APIKEY 没有调用额度,那么你访问会出现错误,告诉你当前 APIKEY 对应账号没有调用额度(一般来说,新注册的账号都会有5美元免费额度),如果想完成本次教程,需要 APIKEY 或者 ChatGPT 账号,可以私聊我微信:pythonbrief。

3 开始调用

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

官方也将这些项目做了一个汇总,大家可以找自己熟悉的编程语言项目看看。

bash 复制代码
https://platform.openai.com/docs/libraries/community-libraries

我选择直接用官方的 openai Python 写相关代码。

首先你需要准备一个Python环境,并安装 openai 包,如何安装环境和安装请看我的这篇文章

bash 复制代码
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 基础了解

再学点基础知识。

官方文档有很详细介绍,如果你想深入研究学习,建议好好阅读官方文档。(后面都会给大家拆解、介绍,有兴趣一起拆解的可以私聊我微信,需要英语好点且懂一点编程的朋友)

bash 复制代码
https://platform.openai.com/docs/api-reference/introduction

在这里我们能看到各种模型更全面的介绍,后面主要会使用的模型有:

  • GPT-3.5 全能的AI对话模型,你可以用它练习你的语言表达能力、帮你修改BUG、给你讲笑话、各种角色扮演等。
  • DALL·E AI绘画模型,和SD MJ比是有距离,但平时自己用用也不差。
  • Whisper 音频转文本模型,可以帮你把各种音频文件转成文字,再结合 GPT-3.5,你可以直接提取出音频中的重点等。
  • Moderation OpenAI 提供的违规检测模型。
bash 复制代码
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 调用费用

费用介绍页面:

bash 复制代码
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纸写满,即使加上日常速率啥的限制,平时用用肯定够的。

相关推荐
测开小菜鸟2 分钟前
使用python向钉钉群聊发送消息
java·python·钉钉
萧鼎1 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸1 小时前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农1 小时前
Python 继承、多态、封装、抽象
开发语言·python
Python大数据分析@2 小时前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树2 小时前
简单的签到程序 python笔记
笔记·python
Shy9604182 小时前
Bert完形填空
python·深度学习·bert
上海_彭彭2 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
zhongcx013 小时前
使用Python查找大文件的实用脚本
python
懒惰才能让科技进步3 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝