大家都在网页上玩ChatGPT玩的不亦乐乎,但是很多时候我们需要打造个人专属的GPT,比如我是律师,我是医生,我是营养师,我是财会,我是猎头,我需要专属的某个领域的GPT,其实也不难。
今天我们就用Python带来大家写一个很简单的,带上下文管理的chatgpt。代码量很少大概只有50行!
阅读本文需要有一点点python基础,如果你还没有入门Python的话,可以在文末获取快速入门的资料。
首先我们解决第一个问题,如果获取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 openaiopenai.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 。
好了,今天的分享就到这里了!最后多说一句,小编也是一名python开发工程师,这里有我自己整理的一套最新的python系统学习教程,如果你需要的话,微信扫描下方CSDN官方认证二维码即可领取
零基础Python学习资源介绍
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python学习软件
工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!
三、Python入门学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
四、Python练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
五、Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~
六、Python面试资料
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
七、资料领取
上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取