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

相关推荐
Java后端的Ai之路6 小时前
【Python 教程15】-Python和Web
python
Victor3567 小时前
https://editor.csdn.net/md/?articleId=139321571&spm=1011.2415.3001.9698
后端
冬奇Lab7 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
Victor3567 小时前
Hibernate(89)如何在压力测试中使用Hibernate?
后端
灰子学技术9 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
AI绘画哇哒哒9 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
二十雨辰9 小时前
[python]-AI大模型
开发语言·人工智能·python
程序设计实验室9 小时前
AMD显卡也能畅玩AI画图!ROCm+ComfyUI部署全指南
ai·ai画图
Yvonne爱编码9 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Gogo81610 小时前
BigInt 与 Number 的爱恨情仇,为何大佬都劝你“能用 Number 就别用 BigInt”?
后端