使用LangBot和Dify定制化搭建微信公众号自动聊天机器人

使用LangBot和Dify定制化搭建微信公众号自动聊天机器人

以下操作均在云服务器上进行,如果在本地环境中需要内网穿透才可以连接到微信公众平台。

1. 环境准备

1.1 修改Hosts文件,直接访问GitHub的CDN节点(可选)

使用root账户打开hosts文件:

sudo nano /etc/hosts

在hosts文件中添加以下内容:

140.82.112.3  github.com

刷新DNS缓存:

sudo systemctl restart systemd-resolved

1.1 安装Dify

克隆源码至本地环境:

git clone https://github.com/langgenius/dify.git --branch 1.4.3

进入源码的docker目录:

cd dify/docker

复制环境配置文件:

cp .env.example .env

启动Docker容器:

docker compose up -d

1.2 安装LangBot

克隆源码至本地环境:

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

进入源码的docker目录:

cd LangBot

启动Docker容器:

docker compose up

1.3 安装caddy

在终端输入以下内容:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

1.4 注册微信公众号

微信公众平台官网注册:https://mp.weixin.qq.com/

2. 部署微信公众号机器人

2.1 获取AppID与AppSecret,并设置白名单

请添加图片描述

2.2 配置LangBot

登录LangBot的WebUI界面,默认端口号为5300,在本地浏览器中输入:

23.23.43.56:5300 # 修改为自己的公网ip + 5300端口号

新建机器人,按照下图配置(不要修改端口号):

在这里插入图片描述
在这里插入图片描述

配置完成后开启机器人。

2.3 配置Caddy反向代理

修改Caddy的配置文件,默认路径为:/etc/caddy/Caddyfile。
在文件中添加以下内容:

23.23.43.56:80 { # 修改为自己的公网ip + 80端口号
    reverse_proxy localhost:2287 
}

重启Caddy服务:

sudo systemctl restart caddy

2.4 配置微信公众号

登录微信公众平台,进入公众号设置,将服务器配置中的URL填写为:

http://23.23.43.56/callback/command # 修改为自己的公网ip

在服务器配置中的Token填写为:

token # 这里的Token为LangBot的Token

在服务器配置中的EncodingAESKey填写为:

FuCy7LfE1LCrXEmCaTetUMjyZFeMy6W1GBvoe0uJE1O # 这里的EncodingAESKey与LangBot的EncodingAESKey对应,可以在微信公众平台生成

消息加解密方式选择安全模式

在这里插入图片描述

提交后若显示错误,建议仔细检查LangBot与公众管理平台中配置的参数是否对应。

2.5 测试机器人

在LangBot的WebUI界面中,点击模型配置,添加一个LLM模型。

在这里插入图片描述

点击流水线,选择chatPipeline,配置AI能力:

在这里插入图片描述

可以点击对话,测试LLM模型是否接入成功。

在这里插入图片描述

在公众号中输入“你好”,测试机器人是否能正常工作。

在这里插入图片描述

3. 使用Dify定制化机器人(以ChatFlow为例)

3.1 创建ChatFlow应用

新建空白应用

在这里插入图片描述

将LLM模块中的模型改为chat型的模型,比如deepseek-v3。

在这里插入图片描述

点击发布更新->访问API

在这里插入图片描述

创建API密钥

在这里插入图片描述

在LangBot的WebUI界面中,点击流水线更改ChatPipeline的配置:

在这里插入图片描述

保存后可以点击对话测试是否成功调用Dify应用。

测试通过后可以直接在公众号中输入问题与机器人进行对话。

我的公众号:小孟的技术笔记

我的个人博客网站:www.mengkecoding.cn

欢迎大家关注~

感谢阅读!如果喜欢这篇内容,欢迎点击【关注】,后续将为您带来更多优质分享~

### 将Dify应用与微信公众号关联或集成 为了实现Dify应用与微信公众号的有效集成,需遵循一系列特定的操作指南。虽然官方文档主要描述了将Dify集成至企业微信的过程[^1],但基本原理相似,可作为参考。 #### 创建微信公众平台开发者账号并认证服务号 首先,在微信公众平台上注册成为开发者,并完成服务号的申请实名认证过程。这一步骤至关重要,因为只有经过验证的服务号才能获得足够的权限来支持后续的功能开发服务对接。 #### 获取必要的API接口权限技术参数 成功开通服务号之后,进入公众平台后台设置页面,开启相应的高级功能选项,比如消息管理、自定义菜单等。同时记录下用于调用微信开放平台所提供的各类RESTful API所需的`AppID` `AppSecret` 参数,这些将在稍后的配置环节中被频繁用到。 #### 配置服务器URL及Token验证 按照微信官方指引设定安全机制中的业务逻辑地址(即回调URL),以及用于身份确认的一次性随机字符串token。此步骤是为了确保来自微信服务器的消息请求确实发往指定的应用实例上处理。注意这里的URL应当指向部署有Dify应用程序的实际位置,并能响应GET/POST HTTP方法。 #### 实现消息收发交互协议适配层 编写一段中间件程序负责解析由微信推送过来的数据包格式,并转换成适合内部使用的结构对象传递给Dify引擎做进一步分析回复;反之亦然——把从Dify产生的应答内容重新封装回符合标准的消息体发送回去告知用户端显示出来。这部分可能涉及到XML转JSON序列的操作[^3]。 ```python import requests from flask import Flask, request, make_response app = Flask(__name__) @app.route('/wechat', methods=['GET','POST']) def wechat(): if request.method == 'GET': token = "your_token" query_name = request.args.get('signature') timestamp = request.args.get('timestamp') nonce = request.args.get('nonce') echostr = request.args.get('echostr') # Verify URL and Token here... resp = make_response(echostr) return resp elif request.method == 'POST': xml_data = request.data # Parse XML data to JSON format suitable for Dify processing... response_msg = process_with_dify(xml_data) # Convert processed result back into XML form as required by WeChat protocol... final_xml_resp = convert_to_wechat_protocol(response_msg) resp = make_response(final_xml_resp) resp.content_type = 'application/xml' return resp ``` #### 测试联调环境下的整体流程连贯性稳定性 利用沙盒模式反复调试直至所有预期场景都能顺畅运作为止。期间密切留意日志输出情况以便及时发现潜在隐患加以修正优性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值