一个基于NoneBot2的ChatGPT和NewBing的AI聊天的实现,用于搭建QQ机器人。
需要配置以下环境并运行来配合使用:
- go-cqhttp
- node-chat-api (BingAI服务端)
2023-04-15 已删除ChatGPT逆向API(revChatGPT)
对于 ChatGPT,需要把Key添加到 .env 配置文件中或者系统环境变量中(根据NoneBot2文档,同名环境变量会覆盖.env文件中的配置)。
连接的配置请参考NoneBot适配器——配置连接,监听的IP/主机名和端口号在.env配置文件中配置
node-chat-api服务的访问地址在 .env.dev 或 .env.prod 中配置。
chatbot 插件
chatbot [args]...
# 该命令需要超级用户权限,在 .env 文件中的 SUPERUSERS 配置
- on|off|启用|禁用 启用或禁用ChatBot
- group|群组 查看群组黑名单
- [group|群组] [群号] 添加或移除群组黑名单
- [blacklist|黑名单] 查看用户黑名单
- [blacklist|黑名单] [QQ号] 添加或移除用户黑名单
- [api|切换] [0|1] 切换API:0-ChatGPT官方API,1-NewBing API(node-chat-api)
- [api|切换] [0|1|2] [all|全部] 全部用户切换api (仅已存在的用户)
chatgpt [args]...
# 该命令仅作用于 ChatGPT 官方 API
- tokens ChatGPT(官方API)的当前上下文tokens(简单粗暴“字符*2”的计算方式)
- [delete|删除记录] [n] 删除ChatGPT最早的 n 条记录
bing [args]...
# 该命令仅作用于 NewBing API
- [jailbreak|越狱] [on|off|启用|禁用] 启用或禁用越狱模式
- restart|重启 重启 node-chat-api 服务
- [source|参考来源] [on|off|启用|禁用] 启用或禁用在消息末尾添加参考来源
另外,在 NewBing API 下,可以直接发送以下文字来达到相应效果(这不属于命令):
- 发送 sudo 或 reset 来重置对话。
- 发送 msg 来查询当前的聊天记录数量。
global_setting 插件
set|设置 [args]...
# 该命令需要超级用户权限,在 .env 文件中的 SUPERUSERS 配置
- [at|召唤] [on|off|启用|禁用] 启用或禁用在发送消息时 @用户
Python最低要求版本:Python3.9
至少需要安装以下依赖:
nonebot2 以及驱动器
pip install 'nonebot2[fastapi]'
适配器
pip install nonebot-adapter-onebot
OpenAI
pip install openai
- 使用 nb-cli 启动
nb run --reload
- 使用 Python 启动
python3 bot.py
如果要使用nb
命令,还需要安装NoneBot2的脚手架nb-cli,这部分内容请参考NoneBot2官方文档。
更多信息请参考: