轻松集成私有化部署Dify文本生成型应用

简介: Dify 是一款开源的大语言模型应用开发平台,融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者能快速搭建生产级生成式 AI 应用。通过阿里云计算巢,用户可以一键部署 Dify 社区版,享受独享的计算和网络资源,并无代码完成钉钉、企业微信等平台的应用集成。本文将详细介绍如何部署 Dify 并将其集成到钉钉群聊机器人和企业微信中,帮助您轻松实现 AI 应用的定义与数据运营,提升工作效率。

随着如今大语言模型的发展,大家对Agent和工作流编排的需求越来越旺盛。Dify 作为一款开源的大语言模型(LLM) 应用开发平台逐渐为大家熟知。它融合了后端即服务(Backend as Service)和 LLMOps的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

阿里云计算巢提供了Dify社区版的一键部署功能,您可以轻松通过计算巢部署Dify社区版,仅需较低的资源部署费用即可拥有独享的计算和网络资源,并且不再有商业版的各类额度限制。

同时,计算巢AppFlow还为您提供成熟的应用集成方案,通过AppFlow配置,您可以将您的Dify应用集成到钉钉群聊机器人、企业微信机器人或者是公众号等各类平台。接下来本文将为您展示如何无代码完成上述部署和集成步骤。

私有化部署Dify社区版

  1. 访问计算巢服务部署页面,根据您的需要选择单机版或高可用版本,完成资源配置和可用区配置

  1. 确认您的订单并点击立即创建。

  1. 等待部署完成后,点击Dify链接访问Dify页面。设置您的管理员账户密码即可登陆。

创建Dify应用

  1. 配置您的模型。点击右上角头像,选择设置,点击模型供应商。

  1. 点击创建空白应用,本文选取文本生成应用进行说明。

  1. 编辑您的前缀提示词。您也可以根据您的需要添加更多的变量。

  1. 点击右上角发布案例,更新或发布您的应用。

  1. 点击左侧“访问API”菜单栏,点击右上角API密钥,在弹出框点击创建密钥。获取并保存您的API密钥。

创建AppFlow连接流集成

集成到钉钉机器人

创建钉钉应用

  1. 在应用开发的左侧导航栏中,点击钉钉应用,在钉钉应用页面右上角点击创建应用

  1. 创建应用面板,填写应用名称应用描述,上传应用图标,完成后点击保存

查看应用 Client ID 和 Client Secret

在左侧菜单选择凭证与基础信息,复制 Client ID 和 Client Secret,用于下一步创建连接流。

创建消息卡片

钉钉机器人通过卡片消息支持流式返回结果,您需要创建卡片模板供消息发送使用。

  1. 访问卡片平台,点击新建模板

  1. 在创建模板输入框,填入模板信息。

  1. 在模拟编辑页面,保存发布模板。然后点击返回模板列表页面。

  1. 复制模板ID,用于创建钉钉连接流使用。

授予应用发送卡片消息权限

创建卡片后,您需要给应用授予发送卡片消息的权限。

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。
  2. 在左侧菜单选择开发配置 > 权限管理,在左侧搜索框分别输入Card.Streaming.WriteCard.Instance.Write,并在操作列点击申请权限

创建AppFlow连接流

  1. 使用AppFlow模版创建连接流
  2. 点击Dify节点,根据您的实际部署形式选择单机版或高可用执行动作,此处默认单机版。点击保存,进入下一步。

  1. 选择链接凭证,点击添加新凭证。自定义填写您的凭证名称。下拉选择您刚刚部署的计算巢Dify实例,同时填写在Dify获取的API密钥,点击确定即可。

  1. 选中您创建的连接凭证,点击保存,进入下一步。
  2. 填写您在Dify中定义的变量。如果您除了query还定义了其他变量,点击“+”可继续添加。

  1. 点击完成,开始编辑钉钉节点。
  2. 选择凭证或新建。填写您之前保存的Client ID和Client Secret。

  1. 点击保存,进入下一步。填写您的钉钉卡片模版ID即可。点击完成并保存流程。
  2. 在连接流列表点击发布,发布成功后点击查看webhookUrl。

配置钉钉机器人

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。
  2. 添加应用能力页面,找到机器人卡片,点击添加

  1. 在机器人配置页面,打开机器人配置开关,您可以参考下图完成配置。消息接收模式请选择HTTP模式消息接收地址为刚刚的 WebhookUrl。然后点击发布

发布应用版本

应用创建完成后,如果需要将应用供企业内其他用户使用,需要发布一个版本。

  1. 点击应用开发,在钉钉应用页面,点击目标应用。
  2. 在目标应用开发导航栏,点击版本管理与发布,在版本管理与发布页面,点击创建新版本。进入版本详情页面,输入应用版本号版本描述信息,选择合适的应用可见范围,完成后点击保存。并在弹窗中点击直接发布
  3. 完成后,即可在钉钉中与Dify应用进行对话了

集成到企业微信

创建企业微信应用

  1. 访问企业微信开发者中心,扫码登录,点击立即创建。根据指引选择以企业身份创建企业内部应用
  2. 在顶部导航栏中,选择应用管理,在应用页面下半部分点击创建应用
  3. 创建应用页面,填写应用名称应用介绍,上传应用 logo,选择可见范围,完成后点击创建应用

  1. 在应用详情页面,复制 AgentID和 Secret,用于下一步创建连接流。

  1. 在顶部导航栏中,选择我的企业,在企业信息页面,复制企业 ID,用于下一步创建连接流。

创建AppFlow连接流

  1. 使用AppFlow模版创建连接流。
  2. 点击企业微信节点,下拉选择连接凭证列表或点击添加新凭证。
  3. 创建凭证对话框中,设置一个自定义凭证名称,填入之前获取的企业微信的企业ID、应用 AgentId 和 Secret。保存AppFlow生成的 Token 和 EncodingAESKey到本地、保存IP白名单到本地。点击完成
  4. 点击Dify节点,根据您的实际部署形式选择单机版或高可用执行动作,此处默认单机版。点击保存,进入下一步。

  1. 选择链接凭证,点击添加新凭证。自定义填写您的凭证名称。下拉选择您刚刚部署的计算巢Dify实例,同时填写在Dify获取的API密钥,点击确定即可。

  1. 选中您创建的连接凭证,点击保存,进入下一步。
  2. 填写您在Dify中定义的变量。如果您除了query还定义了其他变量,点击“+”可继续添加。

  1. 点击完成,点击第三个企业微信节点,选择同样的连接凭证。点击保存即可。
  2. 在连接流列表点击发布,发布成功后点击查看webhookUrl。

配置企业微信应用

配置API接收消息

  1. 访问企业微信应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。
  2. 在应用详情页面,找到接收消息卡片,点击设置API接收

  1. API接收消息页面,您可以参考下图完成配置,然后点击保存
  • URL填入上一步复制的 WebhookUrl

如果之前未保存WebhookUrl,可访问AppFlow连接流页面,在操作列点击webhookUrl进行查看。

  • Token EncodingAESKey 填入上一步复制的值。

如果之前未保存,可访问AppFlow连接凭证页面,在公共连接器 > 企业微信中,找到刚刚配置的凭证,点击操作列的编辑从凭证中获取。

域名主体校验未通过如何解决?

当您在企业微信后台配置 API 接收消息时,报错提示“域名主体校验未通过,需配置备案主体与当前企业主体相同或有关联关系的域名”。这通常是由于企业微信的相关限制所引起的。为解决此问题,您需要配置一个企业自有域名。

  • 如果您的域名已在阿里云备案,您可以参考如下步骤创建一个二级域名作为企业自有域名。
  1. 访问AppFlow域名管理页面,单击添加域名按钮,进入添加域名页面,填入可用的二级域名,如airobot.example.com

  1. 参考CNAME 记录,将该二级域名解析到上一步的记录值
  2. 解析配置完成后,返回创建域名页面,点击提交
  3. 使用该二级域名替换API接收消息URL(即已经填写的WebhookUrl)中的主机名。
  • 如果您的域名没有在阿里云备案,您可以参考如下步骤,将API接收消息中的URL配置为您的企业自有域名,并在企业自有域名对外提供服务的Nginx上配置转发规则,将请求转发到连接流的WebhookUrl。
  1. AppFlow连接凭证页面编辑企业微信的连接凭证。

  1. 点击下一步,勾选内网代理

  1. 首次勾选内网代理时,会弹出AppFlow服务关联角色授权创建页面,请您确认并授权。

  • 如果您没有在阿里云备案的可信主体域名,同时也没有Nginx代理,可以通过点击部署Nginx代理实例一键自动为您部署并配置Nginx代理。按控制台提示直接确认订单或更改您期望的配置下单,等待部署完成即可。部署过程通常耗时1-3分钟,请刷新列表并耐心等待。
  • 部署完成后,点击下拉框选择计算巢实例,用计算巢实例Host替换API接收消息的URL(即已经填写的WebhookUrl)中的主机名,复制IP白名单并添加到企业可信IP中,点击保存,完成配置。

配置企业可信IP

  1. 在应用详情页面,在页面下方开发者接口找到企业可信IP卡片,点击配置

  1. 在企业可信IP对话框,粘贴复制的 IP 地址,然后点击确定

“以下IP属于第三方”报错如何解决?

  1. 修改 AppFlow 中配置的企业微信的连接凭证,
  2. 修改内容:在内网代理配置页面选择使用可信主体域名 > ECS实例使用自有Nginx代理 > ECS实例,选择对应地域和实例, 点击保存。

  1. 将代理机器的 IP 添加到企业微信可信 IP。访问企业微信应用列表,进入应用详情页面,在页面下方开发者接口找到企业可信IP卡片,点击配置

如果您有自己的非阿里云的机器,您可以将自有机器托管到阿里云,并使用托管机器进行请求转发,解决可信 IP 的问题:

  1. 在您的非阿里云服务器中找一台可以访问公网的机器,按照文档安装云助手 。
  2. 修改 AppFlow 中配置的企业微信的连接凭证,
  3. 修改内容:在内网代理配置页面选择使用可信主体域名 > ECS实例使用自有Nginx代理 > ECS实例,选择对应托管地域和托管实例, 点击保存

4. 将代理机器的 IP 添加到企业微信可信 IP。访问企业微信应用列表,进入应用详情页面,在页面下方开发者接口找到企业可信IP卡片,点击配置

测试应用

你可以在企业微信中搜索应用并发送消息,查看效果。

  1. 在企业微信顶部搜索框搜索应用名称,点击应用进入聊天。

目录
打赏
0
61
65
1
156
分享
相关文章
Dify开发者必看:如何破解MCP集成与Prompt迭代难题?
Dify 是一个面向AI时代的开源大语言模型(LLM)应用开发平台,致力于让复杂的人工智能应用构建变得简单高效,目前已在全球范围内形成显著影响力,其 GitHub 仓库 Star 数截至 2025 年 6 月已突破 100,000+,目前,Dify 已经成为 LLMOps 领域增长最快的开源项目之一。
Dify平台集成安全护栏最佳实践
Dify平台提供低代码构建AI大模型应用的解决方案,支持云服务与私有化部署。本文介绍了在工作流和Agent中集成安全护栏的最佳实践,包括插件和扩展API两种方案。插件方式适用于工作流,一键安装实现输入输出防控;扩展API方式适用于Agent和工作流私有化部署场景,通过本地服务适配安全护栏API。文中还详细说明了操作步骤、前提条件及常见问题处理方法,帮助用户快速实现内容安全控制。
Dify 开发者必看:如何破解 MCP 集成与 Prompt 迭代难题?
Dify 是面向 AI 时代的开源大语言模型应用开发平台,GitHub Star 数超 10 万,为 LLMOps 领域增长最快项目之一。然而其在 MCP 协议集成、Prompt 敏捷调整及运维配置管理上存在短板。Nacos 3.0 作为阿里巴巴开源的注册配置中心,升级支持 MCP 动态管理、Prompt 实时变更与 Dify 环境变量托管,显著提升 Dify 应用的灵活性与运维效率。通过 Nacos,Dify 可动态发现 MCP 服务、按需路由调用,实现 Prompt 无感更新和配置白屏化运维,大幅降低 AI 应用开发门槛与复杂度。
585 20
F5发布业界首创集成式应用交付与安全平台,开启ADC 3.0新时代
F5发布业界首创集成式应用交付与安全平台,开启ADC 3.0新时代
41 0
AI 驱动传统 Java 应用集成的关键技术与实战应用指南
本文探讨了如何将AI技术与传统Java应用集成,助力企业实现数字化转型。内容涵盖DJL、Deeplearning4j等主流AI框架选择,技术融合方案,模型部署策略,以及智能客服、财务审核、设备诊断等实战应用案例,全面解析Java系统如何通过AI实现智能化升级与效率提升。
189 0
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用
本文探讨了朴素贝叶斯算法在处理混合数据类型中的应用,通过投票和堆叠集成方法构建分类框架。实验基于电信客户流失数据集,验证了该方法的有效性。文章详细分析了算法的数学理论基础、条件独立性假设及参数估计方法,并针对二元、类别、多项式和高斯分布特征设计专门化流水线。实验结果表明,集成学习显著提升了分类性能,但也存在特征分类自动化程度低和计算开销大的局限性。作者还探讨了特征工程、深度学习等替代方案,为未来研究提供了方向。(239字)
142 5
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
380 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
通义灵码2.5智能体模式实战———集成高德MCP 10分钟生成周边服务地图应用
通义灵码2.5智能体模式结合高德MCP服务,实现快速构建周边服务地图应用。通过自然语言需求输入,智能体自动分解任务并生成完整代码,涵盖前端界面、API集成与数据处理,10分钟内即可完成传统开发需数小时的工作,大幅提升开发效率。
219 0
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
559 3
AppFlow:无代码部署Dify并集成到企业微信
本文介绍如何通过计算巢AppFlow完成Dify的无代码部署,并将Dify应用集成到企业微信中使用。具体步骤包括:创建企业微信应用,获取AgentID和Secret;使用计算巢AppFlow模板创建连接流,配置Dify和企业微信的鉴权凭证;配置企业微信API接收消息和可信IP;最后测试应用确保正常运行。文中还提供了常见问题的解决方案,如域名主体校验未通过和配置企业可信IP报错等。
2164 11
AppFlow:无代码部署Dify并集成到企业微信
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等