GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记

这篇具有很好参考价值的文章主要介绍了GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 概述

1.1 整体结构

     GLM-6B模型服务器
            ↓ 8000端口
     chatgpt-mirai-qq-bot
            ↓ 接收转发 添加头信息
     go-cqhttp qq群机器人
  • 以下chatgpt-mirai-qq-bot简称GPT转发程序

1.2 目标

实现本地化部署的GLM q群机器人

1.3 需求

  1. 最好16GB的显存 显卡性能要求不高
  2. window环境

1.4 流程说明

该项目的是利用lss233大佬的项目一头对接GLM模型将其消息处理成go-cqhttp可以处理的形式最后发送到qq群内
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
lss233大佬的项目地址
https://github.com/lss233/chatgpt-mirai-qq-bot

二. 部署流程

看的出流程的核心是GPT转发程序
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

2.1 使用GPT转发程序帮助文档

2.1.1 使用git安装GLM

首先我们跟着GPT转发程序的文档一步一步来

文档地址
https://chatgpt-qq.lss233.com/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-chatglm

# 下载项目
git clone https://github.com/THUDM/ChatGLM-6B.git
cd ChatGLM-6B
# 安装依赖
pip install -r requirements.txt
pip install fastapi uvicorn
# 启动
python api.py

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

  • 所以这里我们需要安装git和python没啥好说的
    python最好使用3.10.10 git直接next next安装就完事了

2.1.2 不使用git安装GLM

这里安装Chat的时候你可以不使用git来进行安装
因为这里面的模型文件特别大 容易下不下来 不会科学的下的很慢

如果出现这种情况 删掉下载的项目
https://www.bilibili.com/video/BV1gX4y1C7Ak/?spm_id_from=333.337.search-card.all.click&vd_source=ac6f57cbd263a9d994cdb0bece060fc9
跟着这个视频前面做

这里如果我们跟着帮助文档的走python api.py它就会报错

E:\AI\GLM6b\ChatGLM-6B>Python api.py
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a configuration with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Symbol cudaLaunchKernel not found in C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common\cudart64_65.dll
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████| 8/8 [00:07<00:00,  1.01it/s]
Traceback (most recent call last):
  File "E:\AI\GLM6b\ChatGLM-6B\api.py", line 54, in <module>
    model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
  File "C:\Users\jsp\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 905, in cuda
    return self._apply(lambda t: t.cuda(device))
  File "C:\Users\jsp\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 797, in _apply
    module._apply(fn)
  File "C:\Users\jsp\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 797, in _apply
    module._apply(fn)
  File "C:\Users\jsp\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 820, in _apply
    param_applied = fn(param)
  File "C:\Users\jsp\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 905, in <lambda>
    return self._apply(lambda t: t.cuda(device))
  File "C:\Users\jsp\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\cuda\__init__.py", line 239, in _lazy_init
    raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled

这一坨的报错一共两个意思

  1. 装cuda
  2. 装torch

所以这里我们因该是去装这两玩意 但是我装了半天没装好
步骤因该是 先装cuda 再装 torch 但是这个torch在windows上对cuda的版本要求严格 所以如果你要正常装 我建议你先看torch的版本然后找到对应的cuda版本进行安装

我这里跳到另外一个up的Anaconda Navigator视频

https://www.bilibili.com/video/BV1gX4y1C7Ak/?spm_id_from=333.337.search-card.all.click&vd_source=ac6f57cbd263a9d994cdb0bece060fc9

当时都没想着能用但是这个Anaconda Navigator模拟了一个python环境3.10.10的环境结果就能用了

2.2 使用Anaconda Navigator 虚拟运行GLM

感谢这个BillBum up做了排除问题的视频 不然我还不知道咋搞
实在不知道怎么弄的跟视频

2.2.1 https://www.anaconda.com/上下载Anaconda

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

2.2.2 安装的时候最好不要安在c盘 同时注意

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLMGLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
修改环境文件路径

2.2.3 找到安装好的anaconda 运行anaconda Navigator

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

2.2.4 启动anconda的终端

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

2.2.5 anconda环境依赖安装

cd到我们刚才操作的代码的目录
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
依赖不放心就再安装一次
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

2.2.6 启动躺雷

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

  • up主的视频是想使用web网站 但我们是要用api接口 但是可以用它的文件来下载相关的依赖 其实是当时想跟着做出来
    GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

2.2.7 处理同样的报错

  • 输入启动命令 出现同样的报错
    GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

2.2.8 虚拟环境中下载pytorch

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

  • 这里如果没有就重新启动anaconda一次再进来
    GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
  • 再次启动调试
    GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
  • 尝试启动发现差依赖 差什么装什么
    GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
    GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
  • 差什么装什么
  • 能启动他的web当然好 同时我们也要尝试我们的 python api.py

2.2.9 成功运行GLM

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

  • 可以看到它端口开在8000

三. GPT转发程序接入 GLM

3.1 下载接入程序

git上下载lss233大佬的转接程序
https://github.com/lss233/chatgpt-mirai-qq-bot
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

3.2 参考接入程序教程修改配置文件

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

3.2.1 修改接入

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

3.2.2 修改对接go-cqhttp

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

四. go-cqhttp对接和使用

go-cq也是一个很有名的项目了

项目地址https://github.com/Mrs4s/go-cqhttp

找一个喜欢的版本安装 我用的这个
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

4.1 下载 go-cqhttp

你可以在这里下载最新的 go-cqhttp:https://github.com/Mrs4s/go-cqhttp/releases

4.2 初始化 go-cqhttp

解压并启动 go-cqhttp,选 3 后回车,退出程序。
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

4.3 设置 go-cqhttp

编辑 go-cqhttp 的 config.yaml,设置机器人的 QQ 号和反向 Universal 地址 (这个反向 Universal 地址和前面的 reverse_ws_host 、reverse_ws_port )有关

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM
这里的 universal 地址的写法如下:

  • 如果你的 go-cqhttp 和 chatgpt 在同一台机器上,那么就写: ws://localhost:8566/ws ,这里的 8566 和 reverse_ws_port的值是一样的。
  • 如果你的 go-cqhttp 和 chatgpt 在不同的机器上,那么就在上面的基础上,把 localhost 改成你 chatgpt 服务器的 IP 地址。

4.4 启动 go-cqhttp,生成配置文件

首次启动时我们不要登录 QQ,我们只是需要它生成的 device.json文件。

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

4.5 打开 device.json,修改协议

找到 protocol,把后面的数字改成 2,然后保存并退出即可。
这会让 go-cqhttp 使用 Android Watch 协议进行登录。
GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

4.6 启动 go-cqhttp,扫码并登录

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

  • 注意事项
    这个go-cqhttp 的扫码登录,是需要你自己的手机 QQ 和 go-cqhttp 在同一个网络环境下的才能成功的。

五. 最后按顺序启动

5.1 anaconda状态下的GLM api.py → go-cqhttp →GPT转发程序

5.1.1 qq成功页面

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

5.1.2 GPT转发程序成功页面

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

5.1.3 go-cqhttp成功页面

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM

5.1.4 GLM成功页面

GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记,机器人,服务器,python,conda,GLM文章来源地址https://www.toymoban.com/news/detail-560942.html

到了这里,关于GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pythonQQ机器人系列(基于go-cqhttp):使用requests和socket实现QQ机器人聊天(2-0)

    基础:requests的基本使用:QQ机器人基础  传送门 pythonQQ机器人系列:使用requests实现QQ机器人聊天(0-2) 传送门 pythonQQ机器人系列:使用requests实现QQ机器人聊天(1-0)传送门 pythonQQ机器人系列:使用requests实现QQ机器人聊天(2-0) 目录 系列文章目录 前言(一) 前言(二)

    2024年02月10日
    浏览(52)
  • go-cqhttp,QQ机器人发语音+视频+表情+接入chatgpt

    windows布局go-cqhttp_哔哩哔哩_bilibili 注意:图片需要放到go-cqhttp的目录下的data/images下面,否则无法发送,网络图片可以直接发送

    2024年02月11日
    浏览(47)
  • 新版nonebot,go-cqhttp搭建qq机器人保姆级教程

    前段时间QQ进行了更新,所以导致了非手表协议扫码登陆报错的问题,不过好在大佬已经推出rc5版本的go-cqhttp,解决了这一头疼的问题 在开始之前,我需要说明一下,本文章是针对没有经验和基础的用户,所以说篇幅可能会长一点 你需要准备的东西有: python3.8及以上版本 虚

    2023年04月18日
    浏览(51)
  • 【0基础QQ机器人开发】基于go-cqhttp的QQ机器人开发教程,仅供自学

    前言: 程序上云的服务器搭建步骤已经发布,大家可以移步至此查看:【0基础QQ机器人开发二】服务器篇 前段时间由于学习原因产生了一个自动化管理QQ群的需求,在我几天的努力之下,通过各种 学习 CV,终于实现了该需求,但是因为这个项目并不是很完美,里面有些许的bug,导致

    2023年04月08日
    浏览(44)
  • 【Python简单QQ机器人】使用nonebot2与go-cqhttp构建

    目录 一、前言 nonebot2-2.0.0b4 QQ机器人详细教程 二、准备 1.Python 2.Pycharm 3.nonebot2 4.go-cqhttp 三、配置 1.搭建go-cqhttp 2.创建nonebot2机器人 四、运行 五、nonebot2插件         闲着没事干,忽看到群里面的qq机器人,想要学习一下,用了两天实现了本体的搭建并添加了一些插件。期间

    2024年02月09日
    浏览(55)
  • 香菜Bot--基于chatgpt与stable diffusion和go-cqhttp的QQ机器人

    闲来无事,利用chatgpt的api和stable_diffusion的api写了一个qq机器人,qq使用的框架是go-cqhttp.这里做一些总结. 赛博(女)朋友 本项目需要魔法才行 废话不多说,先看看效果

    2024年02月11日
    浏览(41)
  • 使用腾讯云服务器+Nonebot2+go-cqhttp搭建QQ聊天机器人【保姆级教程 2023最新版】

    下载go-cqhttp 这里有不同版本的cqhttp,并且对每个版本都有介绍。但是大家可以看到有 arm与adm 不同的版本,这两个啥关系呢? 严格来说, AMD和ARM没有任何关系 。AMD是桌面级处理器和桌面级GPU的生产厂商,而ARM是移动级处理器的生产厂商。AMD是目前业内唯一一个可以提供高性能

    2023年04月18日
    浏览(50)
  • 【linux系统版本Centos7】基于nonebot与go-cqhttp的机器人云端部署

    二、Centos7安装Python3环境💖 ======================================================================================== 部署及机器人的时候需要使用nb-cli库,但是目前只有python3.7.6以上的版本支持他。所以大家安装Python的时候一定要安装python3.7.6以上的版本。否则就会报错没有nb-cli库。在这里小编推

    2024年04月27日
    浏览(37)
  • 实际工作中通过python+go-cqhttp+selenium实现自动检测维护升级并发送QQ通知消息(程序内测)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 首先,今年比较忙没有多余时间去实操创作分享文章给大家,那就给大家分享下博主在实际工作中的一点点内容吧,就当交流交流~ 目前公司有个跨平台大项目正在内测中,是基于QT框架研发的客户

    2024年02月13日
    浏览(39)
  • go-cqhttp调用接口

    1、 简介 在我们实现了权限控制功能后,那么我们就在也不用担心机器人话太多,同时,平时又没时间,电脑又不在身边,而无法控制机器人了。那么,我们实现了权限的管理就好说了。然后,又出现一个问题了,我们应该如何利用这个权限系统,来帮助我们管理机器人呢?

    2024年02月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包