基于chatgpt开发QQ机器人原理分析

 更新时间:2023年05月04日 09:56:57   作者:我爱OJ  
ChatGPT是当前自然语言处理领域的重要进展之一,可应用于多种场景,如智能客服、聊天机器人、语音助手等。本文通过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人,文中原理代码介绍的非常详细,感兴趣的同学可以参考下

一、概述

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

以下是功能特色,点击展开查看具体使用方法

✅回复符合上下文 ✅支持敏感词过滤,避免账号风险 ✅使用官方api,不需要网络代理,稳定快捷 ✅完善的多api-key管理,超额自动切换 ✅组件少,部署方便,提供一键安装器及Docker安装 ✅支持预设指令文字 ✅完善的会话管理,重启不丢失

1.1 技术栈

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

1.2 项目结构

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

二、开始部署

以下方式二选一,Linux首选Docker,Windows首选安装器

Docker方式 请查看此仓库mikumifa/QChatGPT-Docker-Installer

安装器方式 使用此安装器(若无法访问请到Gitee)进行部署

安装器目前仅支持部分平台,请到仓库文档查看,其他平台请手动部署

下面使用docker方式安装

git clone https://github.com/mikumifa/QChatGPT-Docker-Installer
cd QChatGPT-Docker-Installer
chmod +x loadFile.sh && ./loadFile.sh

最终效果如下,bot目录内是当前的RockChinQ/QChatGPT项目里面的内容,mirai目录内是ITXTech下载后解压到mirai里面

三、启动mirai

3.1 初始化mirai

docker-compose run --rm mirai

上面这一步,windows操作系统的可能会报错error during connect: This error may indicate that the docker daemon is not running 解决方式是CMD管理员模式DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V 等待安装,并按照提示操作登录。(第一次失败的话就,Ctrl + C退出,再重来一次)

3.2 在mirai上登录QQ

login <机器人QQ号> <机器人QQ密码>

登陆成功

3.3 自动登录

autologin add <机器人QQ号> <机器人密码>
autologin setConfig <机器人QQ号> protocol ANDROID_PAD

出现mirai登录时提示版本过低:当前QQ版本过低,请升级至最新版本后再登录。点击进入下载页面报错时候删除mirai/bots文件夹里面的数据

完成后, Ctrl + C 退出

四、编写配置文件

在bot目录下创建config.py,将config-template.py的内容复制进去,编辑config.py修改必需项

在 mirai/config/net.mamoe.mirai-api-http 文件夹中找到setting.yml,这是mirai-api-http的配置文件

将这个文件的内容修改为:

adapters:
  - ws
debug: true
enableVerify: true
verifyKey: yirimirai
singleMode: false
cacheSize: 4096
adapterSettings:
  ws:
    host: localhost
    port: 8080
    reservedSyncId: -1

verifyKey要求与bot的config.py中的verifyKey相同

五、验证

5.1 启动mirai容器

docker-compose run -d mirai

此命令将在后台启动mirai容器

5.2 启动主程序容器

docker-compose run -d setup

此命令将在后台启动主程序的容器并完成配置

六、使用方法

6.1 私聊使用

  • 添加机器人QQ为好友
  • 发送消息给机器人,机器人即会自动回复
  • 可以通过!help查看帮助信息

6.2 群聊使用

  • 将机器人拉进群
  • at机器人并发送消息,机器人即会自动回复
  • at机器人并发送!help查看帮助信息

以上就是基于chatgpt开发QQ机器人原理分析的详细内容,更多关于chatgpt QQ机器人的资料请关注脚本之家其它相关文章!

相关文章

  • elasticsearch.yml配置文件解读(ES配置详解)

    elasticsearch.yml配置文件解读(ES配置详解)

    elasticsearch的config文件夹里面有一个主配置文件:elasticsearch.yml是es的基本配置文件,下面主要讲解下elasticsearch.yml这个文件中可配置文件,感兴趣的朋友一起看看吧
    2024-08-08
  • 总结一些你可能不知道的ip地址

    总结一些你可能不知道的ip地址

    IP对大家来说应该再熟悉不过了,但其实IP地址有一些不为人知的事情,可能你并不知道。例如短IP、不同进制的ip等,所以下面这篇文章主要给大家总结介绍了一些你可能不知道的ip地址知识,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • 网页报错"Form elements must have labels"的处理方法

    网页报错"Form elements must have labels"的处理方法

    这篇文章主要给大家介绍了关于网页报错"Form elements must have labels"的处理方法,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06
  • 一文教你如何本地部署DeepSeek

    一文教你如何本地部署DeepSeek

    这篇文章主要为大家详细了如何实现本地部署DeepSeek,文中通过示例代码和图片进行了详细的介绍,具有一定的借鉴价值,希望对大家有所帮助
    2025-02-02
  • Chrome拓展(Chrome Extension)开发定时任务插件

    Chrome拓展(Chrome Extension)开发定时任务插件

    文章讲述了如何在ChromeExtension中实现定时任务,包括使用chrome.alarmsAPI、结合contentscript的状态感知定时器和基于事件触发的模拟定时,文章强调了任务的幂等性、状态的持久化存储、记录执行日志和防止重复执行的重要性
    2025-04-04
  • session的存储方式和配置方法介绍

    session的存储方式和配置方法介绍

    Session又称为会话状态,是Web系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息。我们控制用户去权限中经常用到Session来存储用户状态,这篇文章会讲下Session的存储方式、在web.config中如何配置Session、Session的生命周期等内容
    2012-05-05
  • vs2019+cmake实现Linux远程开发的方法步骤

    vs2019+cmake实现Linux远程开发的方法步骤

    这篇文章主要介绍了vs2019+cmake实现Linux远程开发的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • UltraEdit编辑器免费激活方法

    UltraEdit编辑器免费激活方法

    UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本,下面小编把这款UltraEdit编辑器免费激活方法分享给大家,需要的朋友参考下
    2021-08-08
  • Typora 0.11.18免费版本安装使用教程(亲测可用)

    Typora 0.11.18免费版本安装使用教程(亲测可用)

    Typora是一款非常使用的笔记工具,对于程序员非常友好,在2021年11月23日,Typora 正式发布 1.0 版本,进入了付费时代,Typora免费版本0.11.18(最后的免费版),本文给大家分享Typora免费获取方法及安装使用教程,感兴趣的朋友参考下吧
    2022-07-07
  • Archlinux Timeshift系统备份与还原的操作方法

    Archlinux Timeshift系统备份与还原的操作方法

    这篇文章主要介绍了Archlinux Timeshift系统备份与还原的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01

最新评论