大家都在网页上玩ChatGPT玩的不亦乐乎,但是很多时候我们需要打造个人专属的GPT,比如我是律师,我是医生,我是营养师,我是财会,我是猎头,我需要专属的某个领域的GPT,其实也不难。
今天我们就用Python带来大家写一个很简单的,带上下文管理的chatgpt。代码量很少大概只有50行!
阅读本文需要有一点点python基础,如果你还没有入门Python建议找一下小助手wx:coder_v5 ,获取快速入门的资料。
首先我们解决第一个问题,如果获取api
1.你需要获取一个openai的key
1).获取ChatGPT API
打开:platform.openai.com ,点击右上角的头像,然后选择view API keys
2).进入API keys页面
点击 create new secret key 选项,会产生一个新的api key:
点create new secret key 选项之后会弹出一个对话框,里面就是你的新的api key。
2.动手写程序
拿到API之后就可以写程序了。你需要安装一个openai的python库,用pip3 install openai ,安装好了之后需要设置一下你的密钥
import openai
openai.api_key = 'xxx' # your key
然后好了之后,我们就可以调用openai的API了,代码也非常简单:
上面的代码就是简单的创建了一个completion模型,这个模型专门是用来聊天的,然后用create函数来创建一个请求,这个里面有很多参数要填,大家可以按照上面的代码的示例进行填写,先跑起来,看看效果。
是不是很简单,但是会有2个问题:这个chatgpt是不带任何角色的,而且不带上下文管理,也就是说我们继续问,国内好玩的城市,然后让它把回答的问题翻译成英文,它就开始瞎说八道了,因为没有上下文的管理!
3.如何带上下文管理呢
那么如何带上下文管理呢,其实很也不难,官方的api文档里面其实有写的,我们仔细看一下这个接口:我们创建的这个聊天模型里面有一个关键字参数message先看一下源码
这里的messages是一个列表,下面去查一下官网的api文档,里面清晰的定义了message的用法 !它有3个关键参数,一个是role,一个是content ,剩下的name是可选的,我们暂且不管。(这里有一个小建议,好的程序员是要养成看API文档的习惯的,因为你开发的工具里面很多内容都是跟API息息相关的).
既然这个message是列表,我们就可以把每次聊天的历史的记录传递到这个messages列表里面,然后把messages喂给chatgpt,这样就可以达到有上下文的目的。
下面我们来看一下增加了messages的示例代码:
然后我们看一下效果吧:
这个就是带上下文的chatgpt聊天模型,是不是觉得很有趣,虽然自己撸代码辛苦了一些,但是确实会学到很多东西,在玩chatgpt的同学学了python,在学python的同时可以玩chatgpt . 类似这样的角色模块有很多:
大家可以自行开发自己喜欢的或者经常要的角色,这个上面的是非常基础的代码,更复杂的更多的应用的扩展源码,我们会放在我们的星球里面。
星球会提供chatgpt高级篇的全部源码,视频和交流服务。目前还是早鸟价,有兴趣的可以加入我们。
原价219,试运营一年159 ,加入的同学会送下面几个福利:
1).送价值99元的3周入门python课程 44节视频课程(菜鸟团队独家录制的)10G的视频(1折券),星球同学可9.9元购买 (限时福利)
2).送ChatGPT专属的市场价格30元的某礼品
3).送专栏群“玩转chatgpt秘籍”的28堂教程内容,
4),星球专属会员高级视频课程
5).星球送书福利
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!