查看原文
其他

用Python做一个ChatGPT机器人

数据STUDIO 2022-12-17

The following article is from 早起Python Author 刘早起


毫无疑问,ChatGPT 已经是当下编程圈最火的话题之一,它不仅能够回答各类问题,甚至还能执行代码!

或者是变成一只猫

因为它实在是太好玩,我使用PythonChatGPT改造,可以实现在命令行或者Python代码中调用。

只需一行命令即可安装

pip install ChatGPT_PyBot --upgrade

安装后,还需要额外配置一下你的登录验证信息。

登录配置

若要进行配置,需要你的机器可以正常访问ChatGPT,ChatGPT-PyBot只是将网页搬到代码中,以便接入你的其他Python程序

具体可以这样操作,如果你可以正常使用网页版ChatGPT,且终端配置了代理,

这里的配置代理指的是你在终端执行curl cip.cc显示的ip地址是在 OpenAI 支持的地区

那么就可以创建一个config.json文件,并填入如下信息

{
"email":"<EMAIL>",
"password": "<PASSWORD>"
}

如果你的终端没有配置代理,无法直连OpenAI,那么就需要手动的提取Cookie,首先登录到网页版ChatGPT,并按下F12或者 右键 - 检查
接下来,点击 Application
按照如下指示复制Cookie Value即可
同样的,在新建一个config.json文件,内容如下:

{
"session_token":"Your Cookie Value"
}

CLI使用

命令行使用支持单次或者持续会话模式。

打开终端(命令行),确保当前的目录下有配置好的config.json文件,执行chatgpt即可进入交互式对话框

$ chatgpt

如果只需要单次的提问,可以直接在chatgpt后添加你的问题

$ chatgpt your question

Python使用

如果需要在Python中调用ChatGPT,可以类似执行如下代码,创建一个ChatBot机器人,并进行对话。

>>> from ChatGPT_PyBot import ChatBot
>>> config = {
"session_token":"Your token"
or
"email": "<YOUR_EMAIL>",
"password": "<YOUR_PASSWORD>"
}
>>> chatbot = ChatBot(config, conversation_id=None)
>>> chatbot.get_chat_response('hello world')["message"]


'''
"Hello there! It's nice to meet you. Is there anything I can help you with today? I'm here to answer any questions you might have."
'''

通过类似上面的代码,可以将ChatGPT接入你的其他Python程序

如果你想研究这个库的实现逻辑,也可以自行前往我的Github下载源码。

https://github.com/liuhuanshuo/ChatGPT_PyBot


🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉 PythonMySQL数据分析数据可视化机器学习与数据挖掘爬虫 等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存