Gewechat 框架下的 dify-on-chat 微信聊天机器人
这篇文章主要是参考网络上的文章,记录了自己实现LLM接入微信聊天的过程。参考的重点文章如下:手把手教你使用Dify on wechat搭建基于Gewechat架构的聊天机器人手摸手教你把 Dify 接入微信生态。
这篇文章主要是参考网络上的文章,记录了自己实现LLM接入微信聊天的过程。参考的重点文章如下:
手摸手教你把 Dify 接入微信生态
http://docs.dify.ai/zh-hans/learn-more/use-cases/dify-on-wechat
一、使用 Docker 部署 Gewechat 框架
1. 前期准备
确保已安装 Docker,同时准备一个实名认证的微信小号。
2. 获取 Gewechat 镜像并进行部署
Pull代码如下:
docker pull registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine
docker tag registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine gewe
启动代码如下:
mkdir -p /root/temp
docker run -itd -v /root/temp:/root/temp -p 2531:2531 -p 2532:2532 --name=gewe gewe
将容器设置成开机运行
docker update --restart=always gewe
3. 设置共用网络
在本项目中,为了实现两个 Docker 容器之间的通信,我们需要创建一个共享网络,并将两个容器连接到这个网络中。以下是具体步骤:
首先,我们创建一个名为 Gewechat_DifyOnChat 的共享网络,以便两个容器可以在同一个网络中相互通信。
运行以下命令创建网络:
docker network create Gewechat_DifyOnChat
然后我们将创建好的gewe容器连接到这个新创建的网络中来:
docker network connect Gewechat_DifyOnChat gewe
运行以下命令,检查 gewe 容器是否已成功连接到 Gewechat_DifyOnChat 网络:
docker network inspect Gewechat_DifyOnChat
并记住对应的IPV4Address信息,格式如:186.21.2.2。接下来我们会用到这个信息。
4. 部署API服务调用
Gewechat 的 Token 是其他项目调用其 API 的必要凭证,没有 Token 无法进行后续的 API 调用。
API 接口文档提供了 POST 的参数设置,以 Ubuntu 为例,可以使用 cURL 命令进行 POST,代码如下,将 Your_IPV4Address 替换为实际记录下来的IPV4Address信息:
curl --location --request POST 'Your_IPV4Address:2531/v2/api/tools/getTokenId'
如果POST请求成功,我们会得到如下信息:{"ret":200,"msg":"执行成功","data":"......."}。其中data里的字符串我们也需要记录下来,这是我们的gewechat_token。
接下来我们来获取 appId字符串,appId 可以理解为 Gewechat 分配的一个虚拟 iPad 设备标识,每个虚拟 iPad 都有一个唯一的 appId,这样可以在一个私有的设备上进行登录小号,每次登录的设备相同,不容易触发风控,因此务必记录。
获取方法 :将下面代码的 Your_IPV4Address 和 gewechat_token 替换为之前记录的信息,使用 cURL 命令进行 POST
curl --location --request POST 'Your_IPV4Address:2531/v2/api/login/getLoginQrCode' \
--header 'X-GEWE-TOKEN: Your_gewechat_token' \
--header 'Content-Type: application/json' \
--data-raw '{ "appId": "" }'
如果POST请求成功,会返回
{
"ret": 200,
"msg": "操作成功",
"data": { "appId": "......",
"qrData": "......",
"qrImgBase64":......,
"uuid": "......" }
}
记录下这里的appId的字符串信息。
到这里,我们已经成功部署好了API服务调用。请再次确认我们已经记录好的gewechat_token和appId信息,这些信息在后续的 Dify on wechat 配置中将被使用。
二、利用 Dify 云平台创建聊天助手
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
摘自Dify官方文档
使用Dify平台还可以本地部署,这里介绍使用云服务的方法。
1. 注册与登录 Dify 云平台
首先访问 Dify官网并注册账号,支持使用谷歌或Github账号登陆,选择适合的登录方式完成注册。
2. 创建聊天助手
登录成功后,进入 Dify 云平台页面。进入页面后我们点击“创建空白应用“,随后选择“聊天助手”。为“聊天助手起一个名字后即可创建成功。
3. 配置聊天助手
随后我们可以便可以为“聊天助手”进行一些简单的配置,如设置提示词,选择大模型以及其具体参数等。还可以在调试与预览框中测试配置的效果。
4. 发布聊天助手并获取API密钥
配置完成后,点击页面右上角的发布,然后点击更新,即可发送成功了。
接下来我们再点击页面左侧的竖排图标的第二个“访问API”再点击页面上部右侧的“API密钥”。创建新的密钥并将其复制记录下来,以便后续在 Difyonchat 中进行配置和使用。
三、部署 Dify on Wechat
1. 部署 Dify on Wechat 的 Docker 容器
首先使用git来拉取该项目最新的源码。代码如下:
mkdir -p /dify-on-wechat git clone https://github.com/hanfangyuan4396/dify-on-wechat
cd dify-on-wechat/docker # 进入docker目录
先复制设置文档模板:
cp ../config-template.json ../config.json
编辑设置文档config.json:
cd ..&&sudo vim config.json
config.json文件填写样例,如果容器的命名和本文有区别在“url”部分对应地也要修改:
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "填写API密钥",
"dify_app_type": "chatbot",
"channel_type": "gewechat",
"gewechat_app_id": "填写appId",
"gewechat_token": "填写记录的gewechat_token",
"gewechat_base_url": "http://gewe:2531/v2/api",
"gewechat_callback_url": "http://dify-on-chat:9919/v2/api/callback/collect",
"gewechat_download_url": "http://gewe:2532/download",
"debug": true,
"model": "dify",
"single_chat_prefix": [""],
"single_chat_reply_prefix": "",
"group_chat_prefix": ["@bot"],
"group_name_white_list": ["ALL_GROUP"],
"image_recognition": true,
"speech_recognition": true,
"voice_reply_voice": true,
"voice_to_text": "dify",
"text_to_voice": "dify"
}
2. 配置所需的Python环境
Dify on WeChat项目由Python语言编写开发,请在Python官网下载安装Python,推荐安装Python3.8以上版本。
安装核心依赖(必选):
pip3 install -r requirements.txt # 国内可以在该命令末尾添加 "-i https://mirrors.aliyun.com/pypi/simple" 参数,使用阿里云镜像源安装依赖
拓展依赖 (可选,建议安装):
pip3 install -r requirements-optional.txt # 国内可以在该命令末尾添加 "-i https://mirrors.aliyun.com/pypi/simple" 参数,使用阿里云镜像源安装依赖
3. 启动Docker容器并将其连接到创建好的网络中
回到docker目录并使用docker compose启动容器:
cd docker&&docker compose up -d # 启动docker容器
将此容器也连接到之前创建好的网络中:
docker network connect Gewechat_DifyOnChat dify-on-chat
接下来终端查看日志扫码登陆:
docker logs -f dify-on-wechat # 查看二维码并登录
到此便完成了基于Gewechat 框架的 dify-on-chat 微信聊天机器人的部署。
更多推荐
所有评论(0)