/ 技术 / 3362浏览

玩转AI — 将DeepSeek接入社交平台

文章目录
  • 前置准备
  • 搭建环境
  • 搭建方式
  •  使用非官方渠道接口
  • 前置准备

    众说周知QQ微信并没有开放的接口供开发者调用,需要用到一些机器人框架用来收发消息。下面先来介绍几个开源项目:

    NapCat

    NapCat: https://github.com/NapNeko/NapCatQQ

    文档:https://napneko.github.io/

    自从QQ使用NT架构以后,开发机器人变的方便了一些。NapCat就是基于 NTQQ 的 Bot 协议端实现方式。兼容onebot和gocq协议,上手简单,开箱即用,更新速度也比较快。

    GeWechat

    GeWechat: https://github.com/Devo919/Gewechat

    免费的微信开源框架,是目前最稳定的主流使用微信机器人框架方案,就是项目仍旧比较简陋,上手稍有难度,不能开箱即用。

    LangBot

    LangBot: https://github.com/RockChinQ/LangBot

    文档:https://docs.langbot.app/

    😎高稳定、🧩支持插件、🦄多模态 - 大模型原生即时通信机器人平台。这个主要用来部署对接大模型。

    DeepSeek

    DeepSeek 开放平台:https://platform.deepseek.com

    搭建环境

    • 服务器:建议2G内存以上,主要是因为 GeWechat 占用内存多一些。
    • 系统:Debain 11,ubuntu也可以,在部署 GeWechat 时都会出现一个问题,后文有解决的办法。
    • Docker 环境:项目全部使用 Docker 部署比较方便, 安装Docker可查看过往笔记https://blog.lalkk.com/3598/

    搭建方式

    部署 LangBot

    安装 LangBot

    为了保证容器之间便于通信,建议先创建一个 Docker 网络,将项目全部部署到同一个网络里。

    #创建一个名为 langbot-network 的网络
    docker network create langbot-network

    Git 项目:

    git clone https://github.com/RockChinQ/LangBot
    cd LangBot

    编辑 docker-compose.yaml 文件,配置网络

    version: "3"
    
    services:
      langbot:
        image: rockchin/langbot:latest
        container_name: langbot
        volumes:
          - ./data:/app/data
          - ./plugins:/app/plugins
        restart: on-failure
        ports:
          - 5300:5300  # 供 WebUI 使用
          - 2280-2290:2280-2290  # 供消息平台适配器方向连接
        # 根据具体环境配置网络
        networks:
          - langbot-network
    networks:
      langbot-network:
        external: true

    启动容器:

    docker compose up

    容器会映射5300端口供 WebUI 使用,可以访问 http://127.0.0.1:5300 设置。
    容器映射的 2280-2290 端口是供使用 OneBot 协议的消息平台适配器反向连接使用,不要修改。

    配置 LangBot

    先来配置大模型,主要是在设置的 provider.json 里填入相应的大模型数据,可以在webUI界面设置,也可以到映射的data/config目录下进行编辑。主要修改的地方如下:

           ......
    
            ],
            "deepseek": [
                "sk开头的密钥"
            ]
    
           ......
      
            "deepseek-chat-completions": {
                "args": {},
                "base-url": "https://api.deepseek.com",
                "timeout": 120
            }
          .......
       #模型名
       "model": "deepseek-chat",
    
          ......
         

    修改完后保存,重启 LangBot。

    查看 LangBot 的ip地址

     

    部署 NapCat

    安装 NapCat

    直接 docker 安装,在 ACCOUNT 填入QQ Bot的账号,映射端口6099为 WebUI端口。

    docker run -d \
    -e ACCOUNT="123456789" \
    -e NAPCAT_GID=0 \
    -e NAPCAT_UID=0 \
    -e MESSAGE_POST_FORMAT="string" \
    -e WSR_ENABLE=true \
    --network langbot-network \
    -p 6099:6099 \
      -v /www/Bot/napcat/QQ:/app/.config/QQ \
      -v /www/Bot/napcat/config:/app/napcat/config \
      -v /www/Bot/napcat/logs:/app/napcat/logs \
    --name napcat \
    --mac-address=02:42:ac:11:00:99 \
    mlikiowa/napcat-docker:latest

    配置 NapCat

    打开 Web界面,初始密码在映射目录下 /config/webui.json里,可修改token值进行修改密码。登录web后根据提示扫码登录QQ就可以配置网络了。

    在网路配置里创建一个 websockets 客户端用于连接 LangBot

    想Bot发送消息,有回复即完成对接。可以查看 NapCat和LangBot的日志。

    部署 GeWechat

    安装 GeWechat

    拉取镜像:

     docker pull registry.cn-hangzhou.aliyuncs.com/gewe/gewe:latest
     
     docker tag registry.cn-hangzhou.aliyuncs.com/gewe/gewe gewe

    运行容器:

    docker run -itd --network langbot-network -v /root/temp:/root/temp -p 2531:2531 -p 2532:2532 --privileged=true --name=gewe gewe /usr/sbin/init

    设置开机运行:

    docker update --restart=always gewe

    通过 docker logs gewe 命令查看 gewechat 日志,如果有如下报错则说明没有正常启动

    !!! Failed to allocate manager object

    出现这个问题是因为系统只挂载了 cgroupv2 ,没有挂载 cgroup v1。可以通过 mount | grep cgroup 命令查看情况。

    方法一:

    如果要让系统同时兼容 cgroup v1 和 cgroup v2,需要修改系统文件:

    编辑 /etc/default/grub文件

    GRUB_CMDLINE_LINUX="SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 systemd.unified_cgroup_hierarchy=0"

    生效配置:

    grub-mkconfig -o /boot/grub/grub.cfg

    最后使用 reboot 命令重启服务器,删除掉 gewe 的容器和镜像重新拉取部署。

    方法二:

    如果上述方法不能解决,可以使用1h修改的镜像,通过不依赖cgroup和docker --privilege,在更高版本的ubuntu、debian上运行gewe

    拉取镜像:

    docker pull registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine
    docker tag registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine gewe

    运行容器

    mkdir -p /www/Bot/gewechat
    docker run -itd -v /www/Bot/gewechat/data:/root/temp -p 2531:2531 -p 2532:2532 --network langbot-network --restart=always --name=gewe gewe

    如图就是启动成功。

    配置 GeWechat

    gewechat 对接 LangBot比较简单,编辑 /data/config/platform.json 文件,找到 "adapter": "gewechat" 配置 gewechat 地址和 LangBot 的回调地址。

            {
                "adapter": "gewechat",
                "enable": true,
                "app_id": "",
                "callback_url": "http://172.20.0.2:2286/gewechat/callback",
                "gewechat_url": "http://172.20.0.3:2531",
                "port": 2286,
                "token": ""
            }

    将 enable 修改为 true 。callback_url 地址修改为 LangBot 的地址,路径必须为 /gewechat/callback。 配置 gewechat_url 为 gewechat 的地址,然后重启 LangBot,查看 LangBot 容器的日志扫码登录微信即可。

     使用非官方渠道接口

    DeepSeek 火了之后,官方的服务经常宕机,尤其是R1模型经常无法使用。推荐使用其他大厂提供的接口,比如腾讯云,阿里云,火山引擎,硅基流动都有提供免费的额度。

    腾讯云:https://console.cloud.tencent.com/lkeap

    华为云:https://activity.huaweicloud.com/maas-ds.html

    火山引擎:https://console.volcengine.com/ark/region:ark+cn-beijing/model?vendor=Bytedance&view=LIST_VIEW

    这里荒芜寸草不生 后来你来这走了一遭 奇迹般万物生长 这里是我的心

    0

    1. This post has no comment yet

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注