# 部署Dify
#### 应用场景
Dify是一款开源的大语言模型LLM（Large Language Model）应用开发平台，您可以通过Dify将企业或个人的知识库集成到大模型应用中，创建定制化的AI问答解决方案，同时也可将其集成到您的业务环境中，提升用户体验*。*
本文主要介绍使用Dify应用镜像快速搭建基于大语言模型的知识库问答系统*。*
#### 步骤一：部署Dify应用镜像的L实例
您可以新购买Dify应用镜像的L实例，也可以使用已有L实例部署Dify应用镜像。
- [新购Dify镜像的L实例]
  1. 登录[Flexus应用服务器L实例控制台](https://console.huaweicloud.com/smb/?/resource/list)。
  
  
  
  1. 对Flexus应用服务器L实例进行资源配置。
     
     | 参数         | 示例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 说明                                                                                                                                                                                                                          |
     |:---|:---|:---|
     | 区域          | **华北-北京四**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 请就近选择靠近您业务的区域，可减少网络时延，提高访问速度。Flexus应用服务器L实例创建后无法更换区域，请谨慎选择。                                                                                                         |
     | 应用镜像        | **Dify**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 基于Dify开源社区版的Agent开发平台。                                                                                                                                                                                                       |
     | Dify平台登录密码 | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 设置Dify平台的登录密码。 Dify平台登录的默认账号为"super@dify.com"，该邮箱非实际的邮箱地址，不能进行邮件收发。                                                                                                                         |
     | 实例规格          | **4核8G** 、**系统盘180GiB**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Dify应用镜像的运行配置**建议选择4核8GiB及以上**，您可根据您的业务需求选择Flexus应用服务器L实例规格。                                                                                                                                                                  |
     | 实例名称          | **Dify-Example**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 请自定义方便您识别的实例名称，例如Dify-Example。                                                                                                                                                                                              |
     | 您可能需要（可选）  | - **数据盘：** **10GiB**  - **主机安全**  - **云备份：** **50GB**   | 请根据您的业务需要自主选择数据盘、主机安全、云备份附加服务并设置规格。                                                                                                                                                                                          |
     | 购买时长          | **1个月**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 设置购买时长。 Flexus应用服务器L实例支持自动续费功能。勾选后，在Flexus应用服务器L实例到期前自动续费。如果您购买时未开通自动续费，后续仍可以在控制台开通。自动续费的更多信息详见[自动续费](https://support.huaweicloud.com/productdesc-flexusl/pd_billing_0002.html#section3)。 |
     | 购买数量           | **1台**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 设置您购买的Flexus应用服务器L实例数量。                                                                                                                                                                                                       |
        
     
  
  2. 单击"下一步：确认配置"，进入订单详情页面。 根据界面提示，请确认配置信息，阅读并勾选协议。
     
  
  3. 单击"去支付"，根据页面提示完成支付。
  
  4. 单击"返回华为云Flexus云服务控制台"，查看已创建的Flexus应用服务器L实例。
   
- [使用已有L实例配置Dify]
  1. 登录[Flexus应用服务器L实例控制台](https://console.huaweicloud.com/smb/?/resource/list)，查看目标L实例是否为Dify应用镜像。
     - 如是，请执行[步骤二：配置Dify应用]；
     
     - 如不是，请执行步骤[2]。
     
     
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664307845.png "点击放大")
     
  
  2. 单击L实例资源卡片上的![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633988628.png)图标，单击"切换镜像"。按照界面提示切换为Dify应用镜像，待切换成功且L实例为运行中时，进行下一步。
     ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/caution_3.0-zh-cn.png)
     切换镜像会清除原系统盘数据，包括系统盘上的系统分区和所有其它分区，请做好数据备份。
     
   
 #### 步骤二：配置Dify应用
1. 登录[Flexus应用服务器L实例控制台](https://console.huaweicloud.com/smb/?/resource/list)。
2. 单击资源卡片上的"立即使用"，进入应用详情页面。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828714.png "点击放大")
   Dify应用镜像的部分功能（如设置密码及应用模板等）依赖云运维中心（Cloud Operations Center，简称COC），需要**先授权并开通COC服务**。如果出现下图提示，请按界面提示授权并开通。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664187773.png "点击放大")
   
3. 在应用管理卡片中可以查看到Dify应用版本以及相关操作。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002724620992.png "点击放大")
   **访问Dify Web界面**
   1. 如果您需要使用Dify Web界面进行管理，请单击"开启"。确认安全风险后单击"确定"。
      - 如果L实例的安全组中已放开80端口，系统将为您自动开启Dify Web界面。
      
      - 如果L实例的安全组中未放开80端口，开启后系统将自动放通80端口。
      
      
      ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/caution_3.0-zh-cn.png)
      系统自动放通80端口时，在安全组入方向规则中该端口的源地址为0.0.0.0/0，表示允许所有外部IP地址访问您的实例，可能导致网络入侵，造成业务中断、数据泄露或数据勒索等严重后果。**强烈建议您将安全组规则设置为仅允许已知的IP地址访问。**
      您可以单击页面右上角的，单击"配置安全组规则"，在入方向规则中找到目标端口，修改端口对应的源地址为已知的IP地址。
      
   
   2. 单击"访问Dify Web界面"，弹窗中显示如下信息，请妥善保管相关信息，以防隐私泄露或资产损失。
      ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633988630.png "点击放大")
      - Web界面链接：访问Dify Web界面的链接地址。
      
      - 端口：80。
      
      - 邮箱：Dify平台登录的默认账号为"super@dify.com"，该邮箱非实际的邮箱地址，不能进行邮件收发。
        
   
   3. 单击"立即访问"或者Web界面的链接，即可打开Dify Web界面。输入邮箱（默认为super@dify.com）和Dify平台密码，即可登录到Dify平台。 该页面由Dify提供，更多详细信息请参见[Dify官方文档](https://docs.dify.ai/zh-hans)。
      ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828716.png)
      
   
   4. 建议您在操作完成后，单击"关闭"，关闭后Dify Web界面将不可访问，已放通端口的安全组规则会自动删除，可以降低信息泄露等安全风险。
    
   **重置Dify密码**
   - 如果您忘记了购买L实例时设置的Dify平台密码，或者需要修改Dify平台密码时，请单击"重置Dify密码"。 根据界面提示输入新密码并再次输入确认与新密码一致。单击"确定"后完成修改。
     
   
   - Dify平台登录的默认账号为"super@dify.com"，该邮箱非实际的邮箱地址，不能进行邮件收发。
     
4. 在模型供应商卡片中，单击"配置API密钥"。
   如暂未开通华为云MaaS模型，请参考[使用预置服务](https://support.huaweicloud.com/model-call-maas/model-call-052.html)提前开通所需模型。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002711570276.png "点击放大")
   
5. 在弹窗中单击"添加API密钥"，填入名称、已有API Key或者创建新的API Key，单击"确定"后完成密钥配置。 您可以添加多个密钥，并设置不同的名称进行管理。选中目标密钥后，单击"确定"即可切换密钥。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002743942729.png "点击放大")
   
6. 单击"访问Dify Web界面 \> 立即访问"，如未开启请参考步骤[3]操作。输入邮箱（默认为super@dify.com）和Dify平台密码，登录Dify平台后，单击右上角"插件"，可以看到已安装的华为云MaaS平台插件。
   如果当前版本不是最新版，请单击"版本号 \> 更新 \> 安装"，升级插件版本。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002720617096.png "点击放大")
   
7. 单击右上角用户信息下的"设置"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002750049851.png)
   
8. 单击"模型供应商"，可以查看并管理使用的模型及API Key。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002750129937.png "点击放大")
   
 
#### 步骤三：应用Dify智能体模板
L实例提供了多个Dify智能体模板，您可以在L实例资源的应用详情页选择模板并应用；也可以在L实例控制台首页的快捷入口中快速选择模板并应用。
- [应用详情页面入口]
  1. 进入L实例应用详情页面，在应用模板页签下，可以查看和搜索L实例提供的智能体应用模板。按需选择适合的模板后，单击"应用"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002741407371.png "点击放大")
     
  
  2. 在弹窗中输入Dify平台的密码进行校验，密码验证成功后系统会自动将应用模板导入到Dify平台中。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002741367323.png "点击放大")
     
  
  3. 单击"访问Dify Web界面 \> 立即访问"。如未开启请参考步骤[3]操作。
     输入邮箱（默认为super@dify.com）和Dify平台密码，登录Dify平台后即可查看到已导入的应用模板。
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828716.png)
     
   
- [控制台首页快捷入口]
  1. 登录[Flexus应用服务器L实例控制台](https://console.huaweicloud.com/smb/?/resource/list)。
  
  2. 在L实例资源下方的"Dify智能体应用模板"页签中，可以查看L实例提供的智能体模板，单击"更多"查看当前所有模板。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002738796371.png "点击放大")
     
  
  3. 按需选择适合的模板，单击"应用"。
  
  4. 选择目标L实例（此处仅展示Dify镜像的L实例），输入Dify平台的密码进行校验，密码验证成功后系统会自动将应用模板导入到Dify平台中。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002741369207.png "点击放大")
     
  
  5. 单击目标L实例，进入应用详情页，单击"访问Dify Web界面 \> 立即访问"。如未开启请参考步骤[3]操作。
     输入邮箱（默认为super@dify.com）和Dify平台密码，登录Dify平台后即可查看到已导入的应用模板。
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828716.png)
     
   
#### Dify智能体模板应用示例
此处以"智能营销助手"和"产品销售助手（汽车）"智能体应用模板为例，介绍模板应用后的配置操作，您可以按需参考。
![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002708928918.png "点击放大")
智能营销助手
1. 访问Dify Web界面后，单击"智能营销助手"，进入应用工作流。
2. 单击工作流中的"文档编辑LLM"卡片，选择华为云MaaS平台预先添加的内置大语言模型。如果您还未配置华为云MaaS API Key，请参考步骤[4]操作，如果您需要接入其他平台的模型，请参考[接入模型]操作。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002709088848.png "点击放大")
   
3. 请按照实际需求修改问答提示词。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002738647881.png "点击放大")
   
4. 单击工作流中右上角的"预览"。在对话输入框输入您的需求，查看是否正常答复。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002738687939.png "点击放大")
   
5. 验证无误后，可以单击工作流右上角的"发布 \> 发布更新"，发布应用后您可以分享该应用，更多详情请参考[Dify官方文档](https://docs.dify.ai/zh/use-dify/publish/README)。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002708928922.png "点击放大")
   
 
产品销售助手（汽车）
1. 访问Dify Web界面后，单击"产品销售助手（汽车）"，进入应用工作流。
2. 单击工作流中的"知识检索"卡片，单击添加知识库按钮"+"，选择已上传的知识库，单击"添加"按钮，完成添加。如果您未创建知识库请参考[创建知识库]操作。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002709088852.png "点击放大")
   
3. 单击知识库右侧的"召回设置"，在RERANK设置中选择"Rerank模型"，Rerank 模型选择"bge-reranker-v2-m3"，Top K设置为3，打开score阈值并设置为0.8。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002738647887.png)
   
4. 单击工作流中的"【待配置】联网搜索"卡片。设置联网搜索后，当内部知识库无相关信息时，可以基于网络搜索结果回答用户问题，获取查询结果提供给下游节点进行总结分析。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002738687941.png)
   
5. 设置联网搜索的请求路径，为了方便管理工作流中的参数，可通过环境变量使用联网搜索参数。 单击"ENV"，应用模板中已内置两个环境变量，请修改为已开通的联网增强MCP的实际信息。如果您还未开通请参考[开通华为云联网增强MCP]操作并获取参数信息。
   - SEARCH_API_KEY：已开通的联网增强MCP的API Key。
   
   - SEARCH_API_URL：已开通的联网增强MCP的API地址。
   
   
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002708928930.png "点击放大")
   
6. 分别单击工作流中的"【待配置】问题改写"、"【待配置】大模型服务+外部知识库RAG"、"【待配置】大模型服务+内部知识RAG"卡片，按需选择华为云MaaS平台预先添加的内置大语言模型。如果您还未配置华为云MaaS API Key，请参考步骤[4]操作，如果您需要接入其他平台的模型，请参考[接入模型]操作。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002709088860.png "点击放大")
   
7. 请按照实际业务需求修改"【待配置】问题改写"、"【待配置】大模型服务+外部知识库RAG"和"【待配置】大模型服务+内部知识RAG"卡片中的问答提示词。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002738647897.png "点击放大")
   
8. 单击工作流中右上角的"预览"。在对话输入框输入您的需求，查看是否正常答复。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002738687951.png "点击放大")
   
9. 验证无误后，可以单击工作流右上角的"发布 \> 发布更新"，发布应用后您可以分享该应用，更多详情请参考[Dify官方文档](https://docs.dify.ai/zh/use-dify/publish/README)。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002708928938.png "点击放大")
   
 
#### Dify平台配置参考
本步骤介绍在Dify平台的常用配置，更多Dify的使用指导请参见[Dify官方文档](https://docs.dify.ai/zh-hans)。
- [创建知识库]
  
  如需支持语义查询搜索，需要向量数据库则需创建，参考如何配置Embedding与Reranker（开源模型,如精度要求高，可提工单申请开通华为自研模型），完成配置在Dify平台应用的配置。
  1. 登录Dify平台首页，单击顶部"知识库"页签，单击"创建知识库"。
  
  2. 选择数据源步骤中，选择"导入已有文本"，单击"选择文件"，选择本地已整理好的知识文件，上传完毕后，单击"下一步"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828724.png "点击放大")
     
  
  3. 文本分段与清洗步骤中，您可以根据页面引导按需配置参数。 本示例分段设置选择"父子分段"（推荐使用），其余参数保持默认。
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664187783.png "点击放大")
     
  
  4. 索引方式选择"高质量"，Embedding 模型选择"bge-m3"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664307857.png "点击放大")
     
  
  5. 检索设置选择推荐的"混合检索"，单击"权重配置"，将语义和关键词比例设置为0.5比0.5。 如果对检索内容匹配度有要求，可以开启"Score 阈值"并设置阈值。
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633988640.png "点击放大")
     
  
  6. 单击"Rerank模型"，选择"bge-reranker-v2-m3"模型，配置完成后单击"保存并处理"。
  
  7. 单击"前往文档"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828726.png "点击放大")
     
  
  8. 当文档状态变成"可用"，表示文档已上传完成。可以在工作流中配置该知识库，例如[产品销售助手（汽车）示例]。
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664187785.png "点击放大")
     
   
- [开通华为云联网增强MCP]
  
  1. 登录[华为云控制台](https://console.huaweicloud.com/modelarts/?region=cn-southwest-2#/model-studio/mcp?isCustomMcp=false)，在MCP广场搜索"联网增强MCP"，单击卡片进入详情页。
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664307859.png "点击放大")
     
  
  2. 单击"立即开通 \> 确认开通"，服务开通后根据页面指引，进入ModelArts Versatile控制台。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633988642.png "点击放大")
     
  
  3. 在AI工具页签下，可以看到已开通的联网增强MCP，单击操作列的"API调用"即可查看API地址和调用示例。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828728.png "点击放大")
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664187787.png "点击放大")
     
  
  4. 在API Key列表页签下，单击"创建API Key"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664307861.png "点击放大")
     
  
  5. 返回Dify平台，在工作流中可以配置联网搜索的参数，即API地址和API Key，例如[产品销售助手（汽车）示例]。
   
- [接入模型]
  
  1. 在Dify平台首页，单击右上角"插件"，查看是否已安装目标平台的插件，此处以华为云MaaS为例。
     - 如果已安装则进行下一步。 如果当前版本不是最新版，请单击"版本号 \> 更新 \> 安装"，升级插件版本。
       ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002720617096.png "点击放大")
       
     
     - 如果未安装，在"探索 Marketplace"页签下，搜索"华为云MaaS平台"并安装该插件。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002633828730.png "点击放大")
       
      
  
  2. 单击右上角用户信息下的"设置"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664187789.png)
     
  
  3. 单击"模型供应商"，在待配置的华为云MaaS平台中单击"设置"。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002664307863.png "点击放大")
     
  
  4. 在API密钥授权配置中填写凭据信息后，单击"保存"。也可以参考步骤[4]在L实例控制台配置华为云MaaS的API Key。
     - 凭据名称：用户自定义设置。
     
     - API Key：填写华为云MaaS平台的API Key，您可以使用已有API Key或者根据界面引导前往华为云MaaS控制台创建新的API Key。
      
  
  5. 您也可以查看并管理使用的模型及API Key。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000002750129937.png "点击放大")
     
  
  6. 配置完成后，您可以为工作流中的节点配置需要的模型。例如["智能营销助手"和"产品销售助手（汽车）"智能体...]。
   
#### 相关操作
- Flexus L实例无初始密码，创建Flexus L实例后，**如需登录云主机，请先设置Flexus L实例的密码。** 更多详情请参见[重置Flexus L实例密码](https://support.huaweicloud.com/usermanual-flexusl/instance_admin_0002.html)。
- Flexus L实例云主机的登录方式请参见[登录方式概述](https://support.huaweicloud.com/usermanual-flexusl/server_login_0001.html)。
- 创建Flexus L实例时，系统会自动为您创建默认安全组（sg-default-smb）并关联至该实例。默认安全组仅确保安全组内实例互通，默认拒绝所有外部请求进入实例。如需添加更多规则请参见[配置Flexus L实例安全组规则](https://support.huaweicloud.com/usermanual-flexusl/security_admin_0004.html)。
 
#### 常见问题
| 问题现象                     | 问题原因                                 | 解决方法                                                                                  |
|:---|:---|:---|
| 应用智能体模板时验密失败，提示"登录失败"。 | 邮箱或密码填写不正确。                         | 检查邮箱和密码是否正确。若忘记密码，可[重置Dify密码]。                   |
| Dify平台页面无法打开。          | 未开启访问Dify Web界面，或者安全组未放通Dify服务端口80。 | 开启访问Dify Web界面，并确认安全组规则中已放通80端口，请参见[访问Dify Web界面]。 |
   
