mirror of
https://github.com/RockChinQ/QChatGPT.git
synced 2024-11-16 03:32:33 +08:00
😎高稳定性、🧩支持插件、🦄多模态的 ChatGPT QQ / QQ频道 / One Bot 机器人🤖 | 支持 OpenAI GPT、GPT 4o、Claude、Gemini Pro、DeepSeek、Moonshot(Kimi)、gpt4free、One API 的 QQ / QQ频道 / OneBot 机器人 / Agent 平台
.github/ISSUE_TEMPLATE | ||
pkg | ||
res | ||
tests | ||
.gitignore | ||
config-template.py | ||
LICENSE | ||
main.py | ||
README.md | ||
sensitive.json |
QChatGPT🤖
- 测试号: 2196084348
- 交流、答疑群: 204785790
- 进群提问前请您
确保
已经找遍文档和issue均无法解决 - 进群提问前请您
确保
已经找遍文档和issue均无法解决 - 进群提问前请您
确保
已经找遍文档和issue均无法解决
- 进群提问前请您
- QQ频道机器人见QQChannelChatGPT
通过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人
✅功能
以下是功能特色,点击展开查看具体使用方法
✅回复符合上下文
- 程序向模型发送近几次对话内容,模型根据上下文生成回复
- 您可在
config.py
中修改process_message_timeout
自定义联系上下文的范围
✅支持敏感词过滤,避免账号风险
- 难以监测机器人与用户对话时的内容,故引入此功能以减少机器人风险
- 编辑
sensitive.json
,并在config.py
中修改sensitive_word_filter
的值以开启此功能
✅使用官方api,不需要网络代理,稳定快捷
- 不使用ChatGPT逆向接口,而使用官方的Completion API,稳定性高
- 您可以在
config.py
中自定义completion_api_params
字段,设置向官方API提交的参数以自定义机器人的风格
✅完善的多api-key管理,超额自动切换
- 支持配置多个
api-key
,内部统计使用量并在超额时自动切换 - 请在
config.py
中修改openai_config
的值以设置api-key
- 可以在
config.py
中修改api_key_usage_threshold
来自定义切换阈值 - 运行期间向机器人说
!usage
以查看当前使用情况
✅组件少,部署方便,提供一键安装器及Docker安装
- 手动部署步骤少
- 提供自动安装器及docker方式,详见以下安装步骤
✅支持预设指令文字
- 支持以自然语言预设文字,自定义机器人人格等信息
- 详见
config.py
中的default_prompt
部分
✅完善的会话管理,重启不丢失
- 使用SQLite进行会话内容持久化
- 最后一次对话一定时间后自动保存,请到
config.py
中修改session_expire_time
的值以自定义时间 - 运行期间可使用
!reset
!list
!last
!next
!prompt
等指令管理会话
✅支持对话、绘图等模型,可玩性更高
- 现已支持OpenAI的对话
Completion API
和绘图Image API
- 向机器人发送指令
!draw <prompt>
即可使用绘图模型
✅支持指令控制热重载、热更新
- 允许在运行期间修改
config.py
或其他代码后,以管理员账号向机器人发送指令!reload
进行热重载,无需重启 - 运行期间允许以管理员账号向机器人发送指令
!update
进行热更新,拉取远程最新代码并执行热重载
💻技术栈
- Mirai 高效率 QQ 机器人支持库
- YiriMirai 一个轻量级、低耦合的基于 mirai-api-http 的 Python SDK。
- OpenAI API OpenAI API
🧱项目结构
pkg.database
数据库操作相关- 数据库用于存放会话的历史记录,确保在程序重启后能记住对话内容
pkg.openai
OpenAI API相关- 用于调用OpenAI的API生成回复内容
pkg.qqbot
QQ机器人相关- 处理QQ收到的消息,调用API并进行回复
🔩部署
部署过程中遇到任何问题,请先在QChatGPT或qcg-installer的issue里进行搜索
注册OpenAI账号
参考以下文章
注册成功后请前往个人中心查看api_key
完成注册后,使用以下自动化或手动部署步骤
自动化部署
以下方式二选一,Linux首选Docker,Windows首选安装器
Docker方式
请查看此仓库mikumifa/QChatGPT-Docker-Installer
安装器方式
- 安装器目前仅支持部分平台,请到仓库文档查看,其他平台请手动部署
手动部署
手动部署适用于所有平台
- 请使用Python 3.9.x以上版本
- 请注意OpenAI账号额度消耗
- 每个账户仅有18美元免费额度,如未绑定银行卡,则会在超出时报错
- OpenAI收费标准:默认使用的
text-davinci-003
模型 0.02美元/千字
配置Mirai
按照此教程配置Mirai及YiriMirai
启动mirai-console后,使用login
命令登录QQ账号,保持mirai-console运行状态
配置主程序
- 克隆此项目
git clone https://github.com/RockChinQ/QChatGPT
cd QChatGPT
- 安装依赖
pip3 install yiri-mirai openai colorlog func_timeout
pip3 install dulwich
- 运行一次主程序,生成配置文件
python3 main.py
- 编辑配置文件
config.py
按照文件内注释填写配置信息
- 运行主程序
python3 main.py
无报错信息即为运行成功
常见问题
🚀使用
私聊使用
- 添加机器人QQ为好友
- 发送消息给机器人,机器人即会自动回复
- 可以通过
!help
查看帮助信息
群聊使用
- 将机器人拉进群
- at机器人并发送消息,机器人即会自动回复
- at机器人并发送
!help
查看帮助信息