太好玩了,我用 Python 做了一个 ChatGPT 机器人

news2025/1/11 1:33:42

大家好,我是早起。

毫无疑问,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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊黑五哑火,中国跨境电商高歌猛进!

黑五作为一个类似于中国双11的全球性购物狂欢节&#xff0c;在11月的最后一周拉开帷幕&#xff0c;据有关业内人士称&#xff0c;作为拥有众多全球站的亚马逊电子商务平台在此次黑色星期五的促销狂欢节中表现似乎稍显停滞&#xff0c;其作为电商领域的龙头企业&#xff0c;没能…

数据结构基础--图

一、图的基本概念 1.图的定义 图是由顶点集合V和边集合E组成的&#xff0c;记为G(G,V)。图可以只有点没有边&#xff0c;但不能只有边没有点。边&#xff1a;用&#xff08;x&#xff0c;y&#xff09;表示为xy之间的一条无向边&#xff1b;用<x,y>表示xy之间的一条有向…

大数据开发适合哪类人群?

有不少应届大学毕业生和0基础人群选择学大数据&#xff0c;但是要选择零基础的大数据培训班&#xff0c;从Java基础开始学习&#xff0c;由浅入深掌握离线数据分析、实时数据分析和内存数据计算等重要内容。 应届大学生缺乏工作经验和技能&#xff0c;对未来没有明确的规划&am…

VTK- PointLocator

欢迎大家加入VTK社区雪易VTK社区-CSDN社区云 小结&#xff1a;本博文主要针对VTK中的PointLocator的分类及各接口的用途进行讲解&#xff0c;PointLocator主要用途为点的位置计算&#xff0c;希望能为各位小伙伴有所帮助。 vtk中关于Locator的关系图 目录 vtkLocator vtkAbs…

软件测试基础理论体系学习4-单元测试的目的?概念是什么?过程是什么?

4-单元测试的目的&#xff1f;概念是什么&#xff1f;过程是什么&#xff1f;1 单元测试目的1.1 单元测试的错误认识1.2 单元测试的重要性1.2.1 时间方面1.2.2 测试效果1.2.3 测试成本1.2.4 产品质量1.3 单元测试的优点1.3.1 它是一种验证行为1.3.2 它是一种设计行为1.3.3 它是…

CPU是什么

CPU&#xff08;Central Processing Unit&#xff09;是计算机系统的运算和控制核心&#xff0c;是信息处理、程序运行的最终执行单元&#xff0c;相当于系统的“大脑”。当 CPU 过于繁忙&#xff0c;就像“人脑”并发处理过多的事情&#xff0c;会降低做事的效率&#xff0c;严…

Postman安装和运行

下载安装 Postman是一个方便用于构造请求的软件.可以以简单的方式来构造请求. 要下载软件,还是同样的话,要去官网下载.这里我们直接将官网地址放在这里. https://www.postman.com/downloads/ 进入官网以后,点击windows 64-bit(图中圈起来的部分)即可下载. 下载好以后双击安…

java小技能:JWT认证实现

文章目录 引言I. 预备知识1.1 关键字去空格处理II token组成2.1 头部(Header)2.2 有效载荷(Playload)2.3 签名(Signature)2.4 代码实现:生成tokenIII 验证token3.1 网关验证token3.2 使用拦截器验证token引言 认证流程 I. 预备知识 1.1 关键字去空格处理

前端复制粘贴方式上传图片

最近在做一个论坛的项目&#xff0c;发布评论的时候&#xff0c;很多时候会用到截图上传的功能&#xff0c;通过微信截图&#xff0c;QQ截图&#xff0c;直接将截取的图片通过Ctrlv 复制到输入框里&#xff0c;自动上传将图片渲染到页面上&#xff0c;今天就来实现一个这样的功…

BOS金蝶云星空:表单插件设置单据体背景色

一.效果图&#xff1a; 备注&#xff1a;只适用于只读列 二.代码案例&#xff1a; 自定义单据提附加背景色方法&#xff1a; /// /// 设置单据体背景颜色 /// /// 实体 /// 行 /// 字段 /// 颜色代码 private void SetEntityBackgoundColor(string entityKey, int row, st…

【面试题】大厂面试题分享:如何让(a===1a===2a===3)的值为true?

大厂面试题分享 面试题库 前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 当我第一次看到这一题目的时候&#xff0c;我是比较震惊的&#xff0c;分析了下很不合我们编程的常理&#xff0c;并认为不大可能&#…

面试官:断网了,还能 ping 通 127.0.0.1 吗?

你女神爱不爱你&#xff0c;你问她&#xff0c;她可能不会告诉你。 ‍ 但网通不通&#xff0c;你 ping 一下就知道了。 可能看到标题&#xff0c;你就知道答案了&#xff0c;但是你了解背后的原因吗&#xff1f; 那如果把 127.0.0.1 换成 0.0.0.0 或 localhost 会怎么样呢&…

Win10用命令行编译带有cuda的opencv

0. 环境 笔记本win10 NVIDIA GeForce GTX 1660 Ti 1. 准备x64 Native Tools Command Prompt 1.1 准备Visual Studio Installer 需要安装visual studio 2019 1.2 安装工作负荷 为了安装x64 Native Tools Command Prompt&#xff0c;勾上使用C的桌面开发 安装完毕后&#xf…

Latent Class Modeling lca

潜类别模型&#xff08;Latent Class Modeling&#xff09; 潜在类别分析&#xff08;LCA&#xff09;数据分析流程&#xff08;详细版&#xff09; - 简书 (jianshu.com) R数据分析&#xff1a;用R语言做潜类别分析LCA - 知乎 (zhihu.com) About Latent Class Modeling -…

Postman(六): postman定义公共函数

Postman(11): postman定义公共函数 postman定义公共函数 在postman中&#xff0c;如下面的代码&#xff1a; 1、返回元素是否与预期值一致 var assertEqual(name,actual,expected)>{tests[${name}&#xff1a;实际结果&#xff1a; ${actual} &#xff0c; 期望结果&…

PDF转Excel怎么转?这些方法值得收藏

在我们的工作生活中&#xff0c;避免不了Excel表格的使用&#xff0c;当我们遇到想要将PDF文件中的信息转换制作成表格的时候&#xff0c;要怎么做呢&#xff1f;毕竟&#xff0c;PDF文件是一个不易编辑的格式&#xff0c;我们想复制其中的内容就较为的麻烦。一般这种时候&…

何止一个惨字形容,水滴 Java 面试一轮游,壮烈了,问啥啥不会,数据库血崩

static 关键字是用来干什么的&#xff0c;static 修饰的方法里面可以使用非静态的成员变量吗&#xff0c;为什么呢 private 修饰的方法是否可以被子类覆盖 覆盖和重载有什么区别 进程跟线程的区别 Java 中创建线程有几种方式 a. 反思&#xff1a;讲完三种方式之后&#xff…

Python——文件

文件 概念 我们常见的txt,jpg,mp4等等都是文件&#xff0c;存储在硬盘中的内容&#xff0c;就是文件&#xff0c;而文件夹是一种特殊的文件——目录文件 路径 一层一层文件夹组成的字符串就是路径&#xff0c;每一个文件的路径都是唯一的&#xff0c;相当于身份证号&#x…

卷积、自相关函数、功率谱密度

文章目录1、自相关函数和卷积2、自相关函数的傅里叶变换最近我在思考为什么&#xff1a; 为什么随机过程的自相关函数和其功率谱密度是一对傅里叶变换&#xff1f;1、自相关函数和卷积 这俩跟孪生兄弟似的&#xff0c;经常一起出现&#xff0c;我们先来看看自相关函数和卷积的…

【读书笔记】曾国藩的正面与侧面(二)

本书为全集的第二册&#xff0c;针对曾国藩的整个家族进行了介绍。包括他的兄弟&#xff0c;父母&#xff0c;和子女。 曾国藩的兄弟&#xff1a; 曾国潢&#xff1a;比曾国藩小9岁 是几个兄弟中读书天分最差的一个&#xff0c;但是有一个优点就是勤奋实在&#xff0c;所以在…