使用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。

相关推荐
i7i8i9com11 分钟前
java 1.8+springboot文件上传+vue3+ts+antdv
java·spring boot·后端
秋意钟11 分钟前
Spring框架处理时间类型格式
java·后端·spring
我叫啥都行22 分钟前
计算机基础复习12.22
java·jvm·redis·后端·mysql
Stark、38 分钟前
【Linux】文件IO--fcntl/lseek/阻塞与非阻塞/文件偏移
linux·运维·服务器·c语言·后端
觅远43 分钟前
python实现word转html
python·html·word
coding侠客1 小时前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘
java·spring boot·后端
悠然的笔记本1 小时前
python2和python3的区别
python
西猫雷婶2 小时前
python学opencv|读取图像(十六)修改HSV图像HSV值
开发语言·python·opencv
lovelin+v175030409662 小时前
智能电商:API接口如何驱动自动化与智能化转型
大数据·人工智能·爬虫·python