1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python写一个角色扮演带上下文功能的chatgpt聊天机器人

Python写一个角色扮演带上下文功能的chatgpt聊天机器人

时间:2019-09-01 00:25:46

相关推荐

Python写一个角色扮演带上下文功能的chatgpt聊天机器人

大家都在网页上玩ChatGPT玩的不亦乐乎,但是很多时候我们需要打造个人专属的GPT,比如我是律师,我是医生,我是营养师,我是财会,我是猎头,我需要专属的某个领域的GPT,其实也不难。

今天我们就用Python带来大家写一个很简单的,带上下文管理的chatgpt。代码量很少大概只有50行!

阅读本文需要有一点点python基础,如果你还没有入门Python的话,可以在文末获取快速入门的资料。

首先我们解决第一个问题,如果获取api

1.你需要获取一个openai的key

1).获取ChatGPT API

打开: ,点击右上角的头像,然后选择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官方认证二维码免费领取

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。