大家都在网页上玩ChatGPT玩的不亦乐乎,但是很多时候我们需要打造个人专属的GPT,比如我是律师,我是医生,我是营养师,我是财会,我是猎头,我需要专属的某个领域的GPT,其实也不难。
今天我们就用Python带来大家写一个很简单的,带上下文管理的chatgpt。代码量很少大概只有50行!
首先我们解决第一个问题,如果获取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 . 类似这样的角色模块有很多:
大家可以自行开发自己喜欢的或者经常要的角色
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
⑤ 历年互联网企业Python面试真题,复习时非常方便****