docker部署chatgpt-on-wechat项目及配置

为最快接入使用该开源项目,这里使用LinkAI接入,接入教程也可以参考LinkAI的应用接入

LinkAI简介

Link.AI 是极简未来科技旗下的企业级一站式 AI 智能体搭建与接入平台产品。聚合多模态大模型、知识库、Agent插件、工作流等能力,并基于丰富的应用接入和管理能力,为用户提供将 LLM 大语言模型落地应用的强大SaaS平台。可零代码搭建集私有知识和特定任务执行能力于一体的 Agent 智能体,并一键接入主流 IM 和办公协同平台实现对话式营销、智能客服与办公效率助手等业务场景

安装docker

docker安装这里省略了,可以自行学习安装,安装成功后可以执行以下命令验证:

docker -v
docker compose version
image-20240604184914765

部署项目

(1) 配置 docker-compose.yml

执行以下命令下载 docker-compose.yml

wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml

接着打开文件,修改或添加所需的配置,使用LinkAI的服务,只需要修改2-3个参数即可,如下图:

image-20240604190107248

  • use_linkai 默认关闭,设置为true后对话将使用LinkAI的服务,无需海外网络环境和OpenAI账号。
  • linkai_api_key 是 LinkAI平台的 api_key,在控制台中创建即可。
  • linkai_app_code 是LinkAI平台创建的应用,参考应用创建,暂时可以不填或者填default image-20240604195029384

(2) 启动容器

在 docker-compose.yml 所在目录下执行以下命令启动容器:

sudo docker compose up -d

运行 sudo docker ps 能查看到 NAMES 为 chatgpt-on-wechat 的容器即表示运行成功。

image-20240604200026998

如果 docker-compose 是 1.X 版本 则需要执行 sudo docker-compose up -d 来启动容器,该命令会自动去 docker hub 拉取 latest 版本的镜像,latest 镜像会在每次项目 release 新的版本时生成

最后运行以下命令可查看容器运行日志,扫描日志中的二维码即可完成登录:

sudo docker logs -f chatgpt-on-wechat
image-20240604200553719

扫码登录后会提示Start auto replying

使用其他微信号给扫码的微信发送”bot 你好“,可以看到正常对话了:

image-20240604200924218

(3) 停止容器

执行以下命令可以关闭服务:

sudo docker compose down

配置修改

项目的配置主要有下几类:基础配置,模型配置,通道配置,插件配置

我们下载的docker-compose.yml文件包含了一些基础设置,项目所有可选配置都在config.py文件里,我们需要配置哪些模型或者通道,直接把对应的参数复制到docker-compose.yml文件,按照已有参数的格式,修改即可

(1)基础配置

我们上面扫码后给机器人发送的是”bot 你好”,不是直接发送“你好”,必须加上“bot”,是因为有个默认参数SINGLE_CHAT_PREFIX: '["bot", "@bot"]',这个参数是设置私聊触发前缀,如果我们不想加前缀就改为SINGLE_CHAT_PREFIX: '[""]',此时我们直接给微信机器人发送消息,即可触发,不需要加任何前缀。

全部的基础配置可以点击配置说明查看。

修改了基础配置即修改docker-compose.yml文件,需要先执行sudo docker compose down关闭容器,再执行sudo docker compose up -d启动容器,只执行docker restart配置修改是不生效的

(2)模型配置

CoW项目支持了国内外的很多模型,每个模型一般都需要配置对应的api key,这些模型需要配置的参数都可以在config.py文件找到。

比如我们使用国内的讯飞星火模型,打开config.py文件,找到下图所示的相关参数,并添加到docker-compose.yml文件:

image-20240604213318882
image-20240604215035755

model参数配置:各个厂商模型的名称可以参考common/const.py文件

image-20240605112315550

添加参数,注意格式要和已有的参数保持一致,比如参数名不加双引号,每个参数最后没有逗号等。

可以在docker-compose.yml文件同时放不同的模型的api key参数,model参数配置的哪个模型,就会使用模型对应的api key

可见,上面配置还是有点麻烦的。如果使用LinkAI的服务,则使用任何模型无需添加额外模型参数配置

  • 保持模型model参数为空,即:MODEL: ''
  • 配置LINKAI_APP_CODE为自己在LinkAI平台创建的应用的code,
  • 在应用里修改应用的默认模型即可实时切换模型,目前几乎支持了全部国内外主流模型,包括不限于3.5/4.0/文心/讯飞/kimi/通义/glm-4/claude/Gemini等模型
image-20240604220742051

(3)通道配置

CoW项目支持接入微信、微信公众号、企业微信应用、飞书、钉钉等渠道接入,每个渠道需要配置的参数都在config.py文件里找到。

我们以接入企微自建应用为例,可以在config.py文件找到相关配置,并添加到docker-compose.yml文件:

image-20240605113908017

image-20240605151606846


channel_type参数决定程序启动哪个通道,对于企微自建应用就是wechatcom_app

如需要使用特定端口,需要加上端口参数:9898是参数配置的端口,8080是宿主机对外的端口,需要在安全组和防火墙放行8080端口

(4)插件配置

docker部署,使用插件比较复杂一点,不过项目作者提供了一个方便的配置方法:

docker-compose.yml文件同级目录下新建一个config.json文件,把提供的模板配置config.json.template复制粘贴进去,也可以按照已有的模板内容增加其他插件的配置。

具体每个插件的参数如何配置,参考各个插件目录的配置说明

image-20240605165452461

修改config.json插件配置,可以使用docker restart chatgpt-on-wechat命令重启即可,然后扫码登录,无需先执行sudo docker compose down关闭容器,再执行sudo docker compose up -d启动容器

LinkAI平台还提供了更多增值服务:

  • 客户端管理:可以无需服务器部署,直接扫码或者填入相关配置参数即可托管接入,并提供统一的客户的管理功能:
  • 强大的插件功能:内置插件开箱即用,自定义插件自行按需设计
转载前请联系我,未经允许请勿转载:
作者:vision
标题:docker部署chatgpt-on-wechat项目及配置
原文链接:https://www.wangpc.cc/nec/docker-deploy-cow/
上一篇