写在前面
ChatGPT 近期以强大的对话和信息整合能力风靡全网。起初,她并没有引起我很大的兴趣。我认为这不过又是互联网公司寻求新的经济增长点的风口而已。
就像几年前的 区块链 ,大大小小的公司趋之若鹜,记得我当时的老东家也推出一款去中心化的 APP,用于存储自己的基因数据。现在已经没有人谈及区块链技术了。
就像最近 1-2 年的 元宇宙 ,据说甚至有学校成立了元宇宙学院,自从扎克伯格晒出一个简陋无比的元宇宙照片之后,简直是将元宇宙的破烂底裤展示在世人面前。如今,元宇宙成了个笑话。
基于我浅薄的认知,我并没有过多关注 ChatGPT 。直到今天的一些私人原因,我才开始正式了解她。
ChatGPT 是什么
ChatGPT 的全称是 Chat Generative Pre-trained Transformer 。我的理解她是一个基于 Transformer 模型 由预训练数据生成对话信息的应用。(PS:Transformer 模型,是谷歌在 2017 年推出的 NLP 经典模型)
由她的名字,我猜测,ChatGPT 并不是在全网实时搜索最佳答案,而是根据预先训练的数据,实时拼凑出一个答案。这个答案可能并不一定是正确的,但不管你信不信,反正 ChatGPT 自己是相信这个答案的。
ChatGPT 的前世今生
我们所说的 ChatGPT 其实是基于 GPT-3.5 模型 开发得到的。截至目前,OpenAI 公司并没有开放 GPT-3.5 的接口。因此我们只能通过 OpenAI 的官方网站 chat.openai.com/ 来访问 ChatGPT。(ai.com 这个地址是 OpenAI 花重金购买的,同样可以跳转到 ChatGPT 官网)
现在网上出现的一些 ChatGPT 中文版,ChatGPT 微信版等等都是基于 2020 年的 GPT-3 模型 开发而来。虽然和基于GPT-3.5 模型演化而来的 ChatGPT 没法比。但是同样能带我们体验人工智能的美妙。
而我们今天要搭建的 ChatGPT 同样是基于GPT-3 模型开发。
用 Python 搭建 ChatGPT
获取 OpenAI API Key
安装 openai 模块
使用如下代码安装 openai 模块。
pip install openai
调用接口获取返回信息
代码
调用 openai.Completion.create 函数获取返回信息。
import os
import openai
# 填写注册OpenAI接口账号时获取的 OpenAI API Key
openai.api_key = os.getenv("OPENAI_API_KEY")
# 提问
issue = '你是谁?'
# 访问OpenAI接口
response = openai.Completion.create(
model='text-davinci-003',
prompt=issue,
temperature=0.9,
max_tokens=150,
top_p=1,
frequency_penalty=0.0,
presence_penalty=0.6
)
# 返回信息
resText = response.choices[0].text
print(resText)
参数
- model:使用的模型,可选内容如下:
- prompt:提问,提问描述越详细,回答越准确
- temperature:控制结果的随机性,如果希望结果更有差异性 0.9,或者希望有固定结果可以尝试 0.0
- max_tokens:生成结果时的最大 tokens 数。平均一个汉字是 2 个 tokens,text-davinci-003 最多是 4000 个 tokens,也就是 2000 个汉字左右
- top_p:一个可用于代替 temperature 的参数,对应机器学习中 nucleus sampling,如果设置 0.1 意味着只考虑构成前 10% 概率质量的 tokens
- frequency_penalty:控制字符的重复度,取值为 -2.0 ~ 2.0 之间的数字
- presence_penalty:控制主题的重复度,取值为 -2.0 ~ 2.0 之间的数字
测试 ChatGPT
别的不敢评价,就是这个最后用 python 写冒泡排序,我给打 99 分。代码最后莫名其妙多出一个逗号,原以为这代码肯定会报错,谁知道测试了下可以正常运行,运行结果也是对的。后来查了一下资料,原来 print()后面加上逗号可以让回车符失效,ChatGPT 是故意这么做的,这是我不知道的知识点。给她扣掉一分,是因为这代码空格和回车有点太随意了,并不是特别工整。
最后
免费的 API 接口是有额度限制的。每个账号有 18 美元 的免费额度,限期 3 个月 。 不同的模式计费不同,text-davinci-003 这个模式大约每 1000 个 tokens 扣费 0.02 美元。
除此以外,OpenAI 的接口还有如下功能,静待你的挖掘。
Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多
”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
点击这里
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓