微信扫码
添加专属顾问
我要投稿
微信生态下的智能客服新方案,安全防封,高效便捷。核心内容:1. 微信生态与Dify应用结合的优势2. 详细步骤创建Dify聊天助手3. Dify应用接入个人微信的操作指南
本教程为GEWE协议,它是一个Ipad协议,不在检测范围内。不会被封禁。
作者:韩方圆,"Dify on WeChat"开源项目作者
微信作为最热门的即时通信软件,拥有巨大的流量。
微信友好的聊天窗口是天然的AI应用LUI(Language User Interface)/CUI(Command User Interface)。
微信不仅有个人微信,同时提供了公众号、企业微信、企业微信应用、企业微信客服等对话渠道,拥有良好的微信生态。
把Dify应用接入微信生态,就能打造一个功能强大的智能客服,大大降低客服成本,同时也能够提升客户体验。本篇教程就是手摸手地教你如何利用Dify on WeChat项目,把Dify应用接入微信生态。
(1)Dify简介
Dify是一个优秀的LLMOps(大型语言模型运维)平台,Dify的详细介绍请移步官方文档欢迎使用 Dify | 中文 | Dify。
(2)登录Dify官方应用平台
首先,登录Dify官方应用平台,你可以选择使用Github登录或者使用Google登录。此外,你也可以参考Dify官方教程Docker Compose 部署 | 中文 | Dify 私有部署,Dify是开源项目,支持私有部署。
(3)创建Dify基础编排聊天助手应用
登录成功后,进入Dify页面,我们按照下方步骤创建一个基础编排聊天助手应用
创建成功后我们会跳转到上图所示页面,我们继续配置应用
在配置完成后,我们可以在右侧对话框进行测试,在测试完成后,进行如下操作
(4)生成基础编排聊天助手API密钥
在点击"访问API"后,我们会跳转到上图的API管理页面,在这个页面我们按照如下步骤获取API密钥:
在保存密钥后,还需要查看右上角的API服务器,如果是Dify官网的应用,API服务器地址为 "https://api.dify.ai/v1", 如果是私有部署的,请确认你自己的API服务器地址。
至此,创建聊天助手的准备工作结束,在此小节中我们只需要保存好两个东西:API密钥与API服务器地址
(1)Dify on WeChat项目简介
Dify on WeChat是 ChatGPT on WeChat的下游分支,额外实现了对接Dify API,支持Dify聊天助手、支持Agent调用工具和知识库,支持Dify工作流,详情请查看GitHub仓库Dify on WeChat。
(2)下载代码并安装依赖
git clone https://github.com/hanfangyuan4396/dify-on-wechat
cd dify-on-wechat/
Dify on WeChat项目使用python语言编写,请在python官网下载安装python,推荐安装python3.8以上版本,我在ubuntu测试过3.11.6版本,可以正常运行。
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)填写配置文件
我们在项目根目录创建名为config.json的文件,文件内容如下,我们在2.1.1小节(4) 最后保存了API密钥与API服务器地址,请把dify_api_base配置为API服务器地址;dify_api_key配置为API密钥其他配置保持不变。
(PS: 很多朋友可能并不是严格按照我教程给出的步骤创建聊天助手类型的Dify应用,在此特别说明一下dify_app_type配置方法,如果你创建了聊天助手应用请配置为chatbot;创建了Agent应用请配置为agent 创建了工作流应用请配置为workflow。)
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "chatbot",
"channel_type": "wx",
"model": "dify",
"single_chat_prefix": [""],
"single_chat_reply_prefix": "",
"group_chat_prefix": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
如果没看过之前的文章,那么请自行申请腾讯云宝塔服务器。可参考参考COW初级使用教程。
Dify-On-Wechat项目部署需要参考上面步骤。
这里我们使用Docker部署,这里为了方便小白操作,咱直接放宝塔上的步骤,不使用指令了。
先下载GEWE镜像,从下选择合适自己的:
# 从阿里云镜像仓库拉取(国内)
docker pull registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine
docker tag registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine gewe
# 或从GitHub镜像仓库拉取
docker pull ghcr.io/tu1h/wechotd/wechotd:alpine
docker tag ghcr.io/tu1h/wechotd/wechotd:alpine gewe
root下新建一个gewechat文件夹。
创建data文件夹和docker-compose.yml文件。
复制以下内容到docker-compose.yml文件。
version: '3'
services:
gewechat:
image: gewe
container_name: gewe
volumes:
- ./data:/root/temp
ports:
- "2531:2531"
- "2532:2532"
networks:
- gewe-network
extra_hosts:
- "host.docker.internal:host-gateway"# 添加这行,允许容器访问宿主机
restart: always
networks:
gewe-network:
driver: bridge
然后点击终端,执行指令,启动Docker,直接执行第2个,第1个只是备注给大家说明。
docker-compose down #会停止并移除所有容器
docker-compose up -d #以 后台模式 启动所有容器
看到如下日志,代表启动成功。
然后查看Docker中是否已经启动,如果已经启动了,那么代表GEWE部署完成。
以下简称为DOW。下载安装我就不多解释了,看老金之前的文章教学,DOW使用教程
这里只说怎么连接GEWE。
dify-on-wechat、dify、gewechat服务的调用关系
在dify-on-wechat项目的config.json中需要配置以下Gewechat相关的参数,注意删除解释的文字:
这里如果你和老金一样Gewe是在Docker中部署的,那么直接和老金写一样的就行。
Dify相关的请自行配置。
{
"channel_type": "gewechat" # 通道类型,请设置为gewechat
"gewechat_app_id": "",
"gewechat_token": "",
"gewechat_base_url": "http://172.17.0.1:2531/v2/api",
"gewechat_callback_url": "http://172.17.0.1:9919/v2/api/callback/collect",
"gewechat_download_url": "http://172.17.0.1:2532/download",
}
参数说明:
gewechat_token
: gewechat服务的认证token,首次登录时,可以留空,启动dify-on-wechat服务时,会自动获取token并自动保存到config.json中
gewechat_app_id
: gewechat服务分配的设备ID,首次登录时,可以留空,启动dify-on-wechat服务时,会自动获取appid并自动保存到config.json中
gewechat_base_url
: gewechat服务的API基础地址,请根据实际情况配置,如果gewechat服务与dify-on-wechat服务部署在同一台机器上,可以配置为http://本机ip:2531/v2/api
gewechat_callback_url
: 接收gewechat消息的回调地址,请根据实际情况配置,如果gewechat服务与dify-on-wechat服务部署在同一台机器上,可以配置为http://本机ip:9919/v2/api/callback/collect
,如无特殊需要,请使用9919端口号
gewechat_download_url
: 文件下载地址,用于下载语音、图片等文件,请根据实际部署情况配置,如果gewechat服务与dify-on-wechat服务部署在同一台机器上,可以配置为http://本机ip:2532/download
{
"channel_type": "gewechat" # 通道类型,请设置为gewechat
"gewechat_app_id": "",
"gewechat_token": "",
"gewechat_base_url": "http://172.17.0.1:2531/v2/api",
"gewechat_callback_url": "http://172.17.0.1:9919/v2/api/callback/collect",
"gewechat_download_url": "http://172.17.0.1:2532/download",
}
启动成功后,可以看到如下日志信息,注意token和appid会自动保存到config.json,无需手动保存
⚠️如果遇到gewechat创建设备失败,unexpected EOF错误,请排查网络是否是以下情况:
老金我自己还没接,有兴趣的小伙伴可以自己试试。
语音相关配置如下,另外需要在dify应用中开启语音转文字以及文字转语音功能,注意语音功能需要安装ffmpeg依赖,如使用docker部署dify,已集成ffmpeg依赖,无需额外安装。
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "chatbot", # 或agent
"channel_type": "gewechat", # 通道类型设置为gewechat
"model": "dify",
"speech_recognition": true, # 是否开启语音识别
"voice_reply_voice": true, # 是否使用语音回复语音
"always_reply_voice": false, # 是否一直使用语音回复
"voice_to_text": "dify", # 语音识别引擎
"text_to_voice": "dify" # 语音合成引擎
}
Gewe支持发送语音条消息,但是Gewe服务只能获取到20s以内的语音
所以你只能给bot发送20s以内的语音,而bot给你发送语音时无此限制。
Gewechat_channel 限制
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-08
2024-07-22
2025-02-09
2024-07-14
2024-08-09
2024-06-30
2024-09-07
2024-10-18
2024-03-31
2024-10-16