PyChatGPT 项目介绍
PyChatGPT 是一个用于与人工智能对话的 Python 库,于 GitHub 上开源发布。尽管目前项目状态显示为未维护和不可用,PyChatGPT 一度是一个令人兴奋和富有乐趣的项目。
项目特点
PyChatGPT 具备一系列实用的功能,旨在提升用户与 OpenAI ChatGPT 交互的体验:
- 保存对话:可将与 ChatGPT 的对话保存到文件中,即使关闭程序后仍能恢复先前的对话。
- 代理支持:支持通过代理进行会话,增加了使用的灵活性。
- 自动登录:无需浏览器参与即可自动登录,并自动获取访问令牌。
- 跳过验证码:能够绕过登录时可能遇到的验证码(初次登录需要解决一次验证码)。
- 令牌刷新管理:可将访问令牌保存到文件并在过期时自动刷新。
- 对话追踪:通过使用
colorama
库,终端输出彩色化,并提供智能的对话跟踪功能。
Web 演示
PyChatGPT 已集成到 Huggingface Spaces 中,用户可以通过 Gradio 进行在线体验。此功能允许用户在网页上测试 PyChatGPT 的交互能力。
安装与使用
要使用 PyChatGPT,可以通过以下命令安装:
pip install chatgptpy --upgrade
安装完成后,可以使用 Chat
类进行交互,例如:
from pychatgpt import Chat
chat = Chat(email="email", password="password")
answer = chat.ask("Hello!")
print(answer)
PyChatGPT 支持丰富的配置选项,可以定制会话行为,支持对话保存,并提供命令行界面及单次问答功能。
开发背景与技术细节
虽已不再维护,该项目通过逆向工程实现了与 OpenAI API 的交互,而无需运行 Chromium 实例或通过 Web Inspector 手动获取访问令牌。PyChatGPT 使用了 TLS 客户端模拟真实用户进行交互,避免被检测为机器人。
项目的首次发布依赖于 PyPI,可以通过 pip install
命令轻松获取并更新。尽管目前未继续发展,还有一些拟定功能亟待实现,包括更优的错误处理和多用户聊天功能。
后续计划
尽管项目停滞,PyChatGPT 的开发者曾计划引入多个新功能,如更好的错误处理和多用户支持。如果时间允许,开发者原本还打算提升模块可用性,方便集成到其他项目中。
致谢
特别感谢 OpenAI 提供的 ChatGPT API 以及 FlorianREGAZ 开发的 TLS 客户端,支持 PyChatGPT 项目的进行。
在此项目中,开发者成功逆向工程并实现了多个功能模块,证明其出色的技术能力和对项目开发的热情。