😎高稳定性、🧩支持插件、🦄多模态的 ChatGPT QQ / QQ频道 / One Bot 机器人🤖 | 支持 OpenAI GPT、GPT 4o、Claude、Gemini Pro、DeepSeek、Moonshot(Kimi)、gpt4free、One API 的 QQ / QQ频道 / OneBot 机器人 / Agent 平台
Go to file
2022-12-10 16:40:05 +08:00
pkg perf: 完善OpenAI接口异常处理 #1 2022-12-10 16:40:05 +08:00
res doc: 添加示例图 2022-12-08 15:13:39 +08:00
tests feat: session基本功能及单测 2022-12-07 22:50:49 +08:00
.gitignore 排除__pycache__目录 2022-12-07 22:25:43 +08:00
config-template.py perf: 完善OpenAI接口异常处理 #1 2022-12-10 16:40:05 +08:00
LICENSE Create LICENSE 2022-12-10 11:06:55 +08:00
main.py perf: 调整main.py中的引入顺序 2022-12-09 15:44:49 +08:00
README.md doc(README.md): 添加初始化数据库步骤 2022-12-10 12:10:43 +08:00

QChatGPT

通过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人
已部署的测试机器人QQ: 960164003
交流群、答疑群: 204785790
无需云服务器,在个人电脑上即可部署

技术栈

  • Mirai 高效率 QQ 机器人支持库
  • YiriMirai 一个轻量级、低耦合的基于 mirai-api-http 的 Python SDK。
  • PyMySQL MySQL驱动
  • OpenAI API OpenAI API

项目结构

  • pkg.database 数据库操作相关
    • 数据库用于存放会话的历史记录,确保在程序重启后能记住刚刚进行的对话内容
  • pkg.openai OpenAI API相关
    • 用于调用OpenAI的API生成回复内容
  • pkg.qqbot QQ机器人相关
    • 处理QQ收到的消息调用API并进行回复

部署

  • 请使用Python 3.9.x以上版本
  • 建议使用MySQL 8.0以上版本
  • 请注意OpenAI账号额度消耗
    • 每个账户仅有18美元免费额度如未绑定银行卡则会在超出时报错
    • OpenAI收费标准默认使用的text-davinci-003模型 0.02美元/千字

1. 注册OpenAI账号并取得api_key

参考以下文章

注册成功后请前往个人中心查看api_key

2. 配置Mirai

按照此教程配置Mirai及YiriMirai

3. 配置MySQL数据库

安装MySQL数据库创建数据库qchatgpt

4. 配置此程序

  1. 克隆此项目
git clone https://github.com/RockChinQ/QChatGPT
  1. 安装依赖
pip3 install pymysql yiri-mirai openai colorlog func_timeout
  1. 运行一次主程序,生成配置文件
python3 main.py
  1. 编辑配置文件config.py

按照文件内注释填写配置信息

  1. 初始化数据库
python3 main.py init_db
  1. 运行主程序
  • 如提示安装uvicornhypercorn请不要安装这两个不是必需的目前存在未知原因bug
python3 main.py

无报错信息即为运行成功

使用

私聊使用

  1. 添加机器人QQ为好友
  2. 发送消息给机器人,机器人即会自动回复
  3. 可以通过!help查看帮助信息
私聊示例

群聊使用

  1. 将机器人拉进群
  2. at机器人并发送消息机器人即会自动回复
  3. at机器人并发送!help查看帮助信息
群聊示例