热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

大家好,我是早起。

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

或者是变成一只猫

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

只需一行命令即可安装

pip install ChatGPT_PyBot --upgrade

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


登录配置

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

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


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


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

{"email":"","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": "","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

推荐阅读
  • 本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 在Ubuntu上安装MySQL时解决缺少libaio.so.1错误及libaio在MySQL中的重要性分析
    在Ubuntu系统上安装MySQL时,遇到了缺少libaio.so.1的错误。本文详细介绍了如何解决这一问题,并深入探讨了libaio库在MySQL性能优化中的重要作用。对于初学者而言,理解这些依赖关系和配置步骤是成功安装和运行MySQL的关键。通过本文的指导,读者可以顺利解决相关问题,并更好地掌握MySQL在Linux环境下的部署与管理。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
author-avatar
宝宝抱抱你啊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有