使用NoneBot和go-cqhttp搭建ChatGPT QQ机器人

#环境准备

1.Python3.9以上(Python 3.12 Windows installer (64-bit)) 其他版本参考 https://www.python.org/

2.代码编辑器,例如 PyCharm、IDEA 等

3.Open-Ai官网使用API接口需要国外手机号 https://sms-activate.org/cn/freeNumbers

4.NoneBot官网 https://nonebot.dev/

5.Naturel GPT 文档站 https://ng.kro.zone/#/

1.创建项目

新建项目文件夹 MyBot ,进入MyBot,cmd执行以下命令

powershell 复制代码
# 安装nonebot
pip install nonebot
# 安装脚手架
pip install nb-cli
# 使用脚手架新建项目
nb create

选项如图(空格选中/取消、上下左右选择、Enter确定)

这里选择echo插件进行后续测试

2.运行项目

powershell 复制代码
# 首先测试能不能使用,可使用如同所示(Ctrl+C退出)
cd testBot
nb run --reload

安装go-cqhttp插件

powershell 复制代码
nb plugin install nonebot-plugin-gocqhttp

安装完成后,需要在 MyBot/testBot/.env.prod 中进行相关配置

powershell 复制代码
DRIVER=~fastapi # 使用fastapi驱动器
HOST=0.0.0.0 # 配置 NoneBot2 监听的 IP/主机名
PORT=23333 # 配置 NoneBot2 监听的端口

对go-cqhttp进行后台配置(如图所示,在浏览器输入 **http://127.0.0.1:23333/go-cqhttp**)

powershell 复制代码
# 启动
nb run


接下来添加绑定机器人的账号(建议使用Android Watch协议,扫码登录)

点击启动,扫码成功登录界面如同

到此为止,已经完成了go-cqhttp环境搭建。接下来开始接入ChatGPT。

3.接入ChatGPT

安装 nonebot-plugin-naturel-gpt 插件

powershell 复制代码
# cd /MyBot/testBot
nb plugin install nonebot-plugin-naturel-gpt

启动机器人,生成配置文件

powershell 复制代码
nb run

修改 MyBot/config/naturel_gpt_config.yml 文件(參考 https://ng.kro.zone/#/configuation

yaml 复制代码
# 例如:
# OpenAI 的 API Key,以字符串列表方式填入
# 请自行替换为你的 Api_Key
OPENAI_API_KEYS:
  - 'sk-xxxxxxxxxxxxx'

# 管理员 QQ,以字符串列表方式填入
ADMIN_USERID:
  - '1145141919'
  - '9191415411'

# 人设相关信息自行参考文档

更改后保存,重新启动 nb run,成功则有下图提示


如图所示,QQ接入 gpt-3.5-turbo 模型已经完成。

#扩充

1.如何使用SMS ACTIVATE?

搜索 OpenAI 服务(如果看不懂语言,可以通过右上角进行更改中文)

可以进行查找国家,下方有地区、价格显示,点击购物车图标购买

等待短信:用于接收验证码,收到即直接显示在Web上

×:没有收到则可以不消费此次服务的金额

(Tips:一定要选择和魔法地区相同的地区手机号,否则无法接收)

可以通过 https://nordvpn.com/ja/ip-lookup/ 查看IP所在地

2.如何使用 Naturel GPT 的扩展?(参考 https://ng.kro.zone/#/extension_list

以使用 发送指定二次元图片 (Lolicon API) 为例:

powershell 复制代码
# 下载扩展 ext_lolicon_pic
/rg ext add ext_lolicon_pic

在 testBot/data/naturel_gpt/extensions/ext_lolicon_pic.py 进行配置

yaml 复制代码
- EXT_NAME: ext_lolicon_pic
  IS_ACTIVE: true
  EXT_CONFIG:
    # R18 图片获取设置
	# 0 为不获取,1 为获取,2 为混合获取
    r18: 0
    # # 请求 API 使用的代理
    proxy: http://127.0.0.1:2334

使用扩展(如何调用函数请自行诱导...培养w)

powershell 复制代码
# 重新启动服务 nb run 或者
# 重新加载配置
/rg reload_config
# 查看插件信息
/rg ext


其他的插件请读者自行尝试,在此就已经结束了,期待下次再见0.0。

相关推荐
深度学习lover40 分钟前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
paopaokaka_luck2 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
API快乐传递者2 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
码农小旋风3 小时前
详解K8S--声明式API
后端
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml44 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~4 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong1616884 小时前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
睡觉谁叫~~~5 小时前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust