当前位置:首页|资讯|Stable Diffusion WebUI|Stable Diffusion|OpenAI

搭建QQ小猫机器人集成GPT与Stable Diffusion Webui

作者:忽如一夜娇妹来发布时间:2023-05-27

搭建QQ小猫机器人集成GPT与Stable Diffusion Webui

一:准备工作

1.简单的说下执行过程,方便你理解,还是画图比较容易说明和理解


go-cqhttp(此篇文章后续就缩写为CQ了)、MeowBot(简称机器人)、stable diffusion webui(简称SD)

看了上面的图你就知道要做那些准备工作了,

(1):如果部署在本地电脑上,那么需要使自己的网络可以ping通openai的地址。也就是可以访问gpt.

(2):如果部署在云服务器上,也是要准备可以访问openai的服务器。

2.先说我的解决方案吧:

(1):CQ+MeowBot在云服务器上(服务器可访问gpt)

(2):SD在自己台式机或者其他电脑上,然后经过frp内网穿透,供MeowBot可访问。

二:开始部署go-cqhttp

1.项目地址:Releases · Mrs4s/go-cqhttp (github.com)

选择你的系统合适的版本:推荐这两个,不要问为什么,因为我用的这两个


建议先在windows上下载一个,部署好,因为云服务上QQ验证不了,异地加上各种不安全。总之,验证不了。

需要到时候把Windows下面生从accesstoken文件拷贝到服务器上,才可以正常运行。

2.部署go-cqhttp

(1)下载好之后,放在一个合适的空文件夹,这个地址很重要,因为项目地址使写死的,去获取CQ的data/image下面的图片,不然绘图之后发不了



(2)按住Shift+右键,在此处打开power shell



(3) ./go 然后tab会自动帮你补全的,也可以自己手打,Windows下会自动变成.\,



(4)按下回车就会执行了,然后第一次会自动生成对应的配置文件,然后如图输入02即可,按下回车


(5)成功的生成了config文件



(6)关闭此窗口然后,按住Shift+右键,在此处打开power shell, ./go 然后tab会自动帮你补全的,再次启动CQ


(7)会再次生成对应的配置文件和对应的日志以及消息的文件夹和文件


(8)修改自己的QQ机器人和QQ协议

1.打开config.yml文件修改自己的QQ,只需要填数字就行,建议填写小号。


2.如图,提示也写了不支持二维码登陆,需要修改对应的协议。打开device.json,搜索protocol 这个协议默认6,改成2即可


(9)启动CQ,需要power shell启动,不要双击,如图扫码即可

到此为止,CQ已经部署完毕

需要注意的和下面用得到的东西就是

1.CQ存放图片的路径:G:\Go-Cqhttp\data\images

2.CQ的websocket端口: ws://localhost:8080

三:开始部署小猫机器人项目

机器人项目地址:https://github.com/CollapseNav/MeowBot

1.代码的简单说明:

(1)DrawAnimeCommand,找到这个类,如果使本地不能调用gpt或者不需要使用gpt的可以如图注释对应的代码即可,

(2)如果需要使用gpt,则需要把源代码的SD地址改为你自己SD地址



2.还是这个类,修改源代码的图片地址

改为上述的G:\Go-Cqhttp\data\images这个地址,不要把“/”换成了”\“



3.修改完之后重新编译即可,第一次执行会生成AppConfig.json

我已经帮你们修改了,直接修改即可,这种配置默认使CQ与机器人项目在同一个设备上(无论个人电脑还是云服务器),apiKey则是chatgpt的apikey

如果没有,可以在此地方购买首页 | TerraMours的小店,购买开发者key即可

这是查询key余额的地址:智能助手 (terramours.site)

 {
   "apiKey": "sk-xxx",
   "botWebSocketUri": "ws://localhost:8080",
   "chatCompletionApiUrl": null,
   "textCompletionApiUrl": null,
   "gptModel": "gpt-3.5-turbo",
   "usageLimitTime": 300,
   "usageLimitCount": 5,
   "allowList": [],
   "blockList": [],
   "adminList": [],
   "groupConfigs": []
 }


然后再次启动即可

如果在服务器上启动,记得加上如下的nohup 以及& 这样即可关闭当前窗口,服务还是会在后台运行,如果是需要服务自动重启,需要自己用systemd 服务来自动重启和管理服务

 nohup ./xxxx &

E:\go-cqhttp

-----------------------------------------------------非开发看这里

4.考虑到不一定所有的看官是开发,所以编译了一个windows的发布包,路径修改为默认D盘下的,想必一般的电脑都还是有D盘的

  var filePath = $"D:/go-cqhttp/data/images/{guid}.png";

也就是你的CQ需要安装到D盘的go-cqhttp这个文件夹下即可

包地址:https://file.firstsaofan.top/blogfile/MeowBot-win-x64.zip

解压之后双击MeowBot.exe即可;然后修改AppConfig.json内容即可

------------------------------------------------------结束


四:开始部署SD绘图服务

(一):准备工作

1.SD的GitHub地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui  

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

2.或者整合包,B站秋葉aaaki的整合包,一键启动

地址:秋葉aaaki的个人空间哔哩哔哩bilibili

官方安装教程:https://github.com/AUTOMATIC1111/stable-diffusion-webui#automatic-installation-on-windows

在视窗上自动安装(机翻)

  1. 安装 Python 3.10.6(较新版本的 Python 不支持 torch),选中“将 Python 添加到 PATH”。

  2. 安装 git。

  3. 下载稳定扩散 webui 存储库,例如通过运行 .git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

  4. 以正常、非管理员、用户身份从 Windows 资源管理器运行。webui-user.bat

安装总结:

1.由于后续重构的系统会基础SD,是担心整合包被修改了或者不更新,所以我采取的官方的项目,我帮朋友部署过一个发现整合包并没有修改api相关的东西,所以单纯的使用这个机器人项目,整合包并没有任何问题,并且让你更简单。(推荐)

2.git 拉去官方项目的问题,主要是访问GitHub的原因,加上模型默认有好几个G,以及它的第一次运行会下载各种依赖包,没有网络条件的会有问题。也可以下载fast GitHub这个项目来解决,但是貌似速度也不是特别快,但是能解决你的访问GitHub的问题。

官方地址:Releases · dotnetcore/FastGithub

访问不了GitHub的可以用我下载好的:https://file.firstsaofan.top/blogfile/fastgithub_win-x64.zip

 https://file.firstsaofan.top/blogfile/fastgithub_win-x64.zip //因为md格式url自带下划线,我怕有的人没看到fastgithub_win-x64.zip的下划线

3.官方的项目启动默认是不启动api,需要修改webui-user.bat文件,把参数带上--api

 set COMMANDLINE_ARGS=--api

然后正常双击webui-user.bat即可。

五:如何使用机器人与测试

1.常用的就是gpt与绘图

gpt指令为直接@你的群机器人,也就是CQ配置的那个QQ。

绘图需要@机器人之后带上#drawanime即可

下面演示测试图(我把机器人的名片设置带上了绘图的口令免得使用的人忘记了)

GPT

绘图(出图取决于你的模型)SD的模型以及基本的使用我就不写了

详细指令#help即可

六:代理openai的,可以用社区的不过需要自己寻找,也可以用TerraMours的开源项目自己部署

yarp代理openai项目地址:

raokun/YarpProject: 基于Yarp.ReverseProxy的反向代理项目,实现ChatGPT代理 (github.com)


然后把机器人项目里面的AppConfig.cs的写死的DefaultChatCompletionApiUrl改成你对应的就好

https://api.openai.com改成你代理的地址即可

  public static string DefaultChatCompletionApiUrl { get; } = "https://api.openai.com/v1/chat/completions";

如果用了别人的代理,那么意味数据会走别人的服务器一遍,自己需要在知道风险的情况自己选择。

最后说明

以上就全部结束了,出图取决你的模型,速度的快慢取决你的机器配置,我是1060 6G显存的卡,配置比较低,我用朋友的4070TI测试大概3-5秒

如果需要frp内网穿透的,可以在博客搜索frp,有对应的教程。


如果需要了解所有的命令与信息,可看起源机器人项目:

https://github.com/SlimeNull/MeowBot#%E4%BB%8B%E7%BB%8D

最后感谢以下项目

此机器人项目:https://github.com/CollapseNav/MeowBot

此项目的起源:https://github.com/SlimeNull/MeowBot

SD:AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI (github.com)


自己的连接

QQ群号码可体验机器人:814880639

GPT体验站:https://ai.terramours.site/

Net7通用开源框架:firstsaofan/TerraMours (github.com)



本文使用 文章同步助手 同步




Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1