Skip to content

基于QChatGPT与ChatWaifu-marai的语音与文字QQAI库,使用GPT3与mirai。

License

Notifications You must be signed in to change notification settings

DXGGOfficial/QWaifuGPT3

 
 

Repository files navigation

QWaifuGPT3

整合了QChatGPT与ChatWaifu项目,创建的QQ(语音/文字)聊天机器人

项目功能:

✅回复符合上下文 程序向模型发送近几次对话内容,模型根据上下文生成回复 您可在config.py中修改prompt_submit_length自定义联系上下文的范围
✅支持敏感词过滤,避免账号风险 难以监测机器人与用户对话时的内容,故引入此功能以减少机器人风险 编辑sensitive.json,并在config.py中修改sensitive_word_filter的值以开启此功能
✅群内多种响应规则,不必at 默认回复ai作为前缀或@机器人的消息 详细见config.py中的response_rules字段
✅使用官方api,不需要网络代理,稳定快捷 不使用ChatGPT逆向接口,而使用官方的Completion API,稳定性高 您可以在config.py中自定义completion_api_params字段,设置向官方API提交的参数以自定义机器人的风格
✅完善的多api-key管理,超额自动切换
✅组件少,部署方便,提供一键安装器及Docker安装 手动部署步骤少 提供自动安装器及docker方式,详见以下安装步骤
✅新增随机图片,自定义网站资源爬取功能 在model中可以查看到所有插件 随机图片的api可以在conf.xml中更改 使用!指令触发关键字壁纸,图片,ranimg即可 如:!ranimg pc
✅支持预设指令文字 支持以自然语言预设文字,自定义机器人人格等信息 详见config.py中的default_prompt部分
✅完善的会话管理,重启不丢失 使用SQLite进行会话内容持久化 最后一次对话一定时间后自动保存,请到config.py中修改session_expire_time的值以自定义时间 运行期间可使用!reset !list !last !next !prompt等指令管理会话
✅支持对话、绘图等模型,可玩性更高 现已支持OpenAI的对话Completion API和绘图Image API 向机器人发送指令!draw 即可使用绘图模型
✅支持指令控制热重载、热更新 允许在运行期间修改config.py或其他代码后,以管理员账号向机器人发送指令!reload进行热重载,无需重启 运行期间允许以管理员账号向机器人发送指令!update进行热更新,拉取远程最新代码并执行热重载
✅私聊、群聊黑名单机制 支持将人或群聊加入黑名单以忽略其消息 详见下方加入黑名单节
✅ChatGPT的对话聊天
✅回答转语音
✅多角色语音
✅语音识别对话 (研发了一款真正人性化的智能语音Q宝
✅对接Marai机器人
✅对接Live2D版本 https://github.com/cjyaddone/ChatWaifuL2D

项目基于:

  • QChatGPT 官方PS:基于OpenAI ChatGPT+mirai QQ 的 QQ 机器人,多平台一键部署,支持绘图模型,支持配置热重载
  • ChatWaifu 官方PS:这是一个使用TTS+VITS的ChatGPT语音对话程序!

交流群:

  • QWaifuGPT3 交流群:1104208664
  • ChatWaifu 交流群:790043171
  • QChatGPT 交流群:204785790
    • 进群提问前请您确保已经找遍文档和issue均无法解决
    • 进群提问前请您确保已经找遍文档和issue均无法解决
    • 进群提问前请您确保已经找遍文档和issue均无法解决
  • QQ频道机器人见QQChannelChatGPT

通过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人

✅功能

查看Wiki功能使用页

🔩部署

部署过程中遇到任何问题,请先在QChatGPTqcg-installer的issue里进行搜索

- 注册OpenAI账号

参考以下文章

只需 1 元搞定 ChatGPT 注册
手把手教你如何注册ChatGPT,超级详细

注册成功后请前往个人中心查看api_key
完成注册后,使用以下自动化或手动部署步骤

- 手动部署

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

配置Mirai

按照此教程配置Mirai及YiriMirai
启动mirai-console后,使用login命令登录QQ账号,保持mirai-console运行状态

配置主程序

  1. 克隆此项目
git clone https://github.com/dominoar/QWaifuGPT3.git
cd QWaifuGPT3
  1. 创建环境
# windows
python -m venv venv
.\venv\Script\activate.bat
# linux
pip install virtualenv
virtualenv venv
source venv/bin/activate
  1. 根据config.py中的提示配置设置

  2. 安装所需环境

pip install -r requirements.txt
  • 等待安装完成
  1. 下载ChatWaifu所需环境
    • Google Drive:下载
    • 阿里云盘:下载 & 提取码: m2y3
    • 解压到 此项目/model/ChatWaifu/ 目录下
  2. 运行主程序
python main.py

无报错信息即为运行成功,若提示无法连接mirai,请你检查:

  • config.py中的端口和ip地址是否配置与mirai对应
  • mirai是否正常启动,配置是否与config.py对应
  • localhost不存在系统防火墙问题,远程主机请检查防火墙

常见问题

  • mirai登录提示QQ版本过低,见此issue
  • 如提示安装uvicornhypercorn不要安装,这两个不是必需的,目前存在未知原因bug
  • 如报错TypeError: As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary, 请参考 此处

🚀使用

查看Wiki功能使用页

About

基于QChatGPT与ChatWaifu-marai的语音与文字QQAI库,使用GPT3与mirai。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%