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

时间:2024-10-28 08:04:54

大家都在网页上玩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).星球送书福利

 
 
  1. 推荐阅读:
  2. 入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
  3. 干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
  4. 趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
  5. AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
  6. 小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!