网上很多人在对比Dify与Coze,二者有何区别?不如先从PC本地化部署Dify开始

一、Dify概述
Dify 是一个开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式 AI 应用的创建和部署。它结合了后端即服务(Backend as Service, BaaS)和 LLMOps 的理念,为开发者提供了一个用户友好的界面和一系列强大的工具,使他们能够快速构建、测试和部署基于大语言模型的应用程序。
Dify 直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。以下是其核心功能列表:
- 工作流:在画布上构建和测试功能强大的 AI 工作流程,利用以下所有功能以及更多功能。
- 全面的模型支持:与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖 GPT、Mistral、Llama3 以及任何与 OpenAI API 兼容的模型。
- Prompt IDE::用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能(如文本转语音)的直观界面。
- RAG Pipeline:广泛的 RAG 功能,涵盖从文档摄入到检索的所有内容,支持从 PDF、PPT 和其他常见文档格式中提取文本的开箱即用的支持。
- Agent 智能体:您可以基于 LLM 函数调用或 ReAct 定义 Agent,并为 Agent 添加预构建或自定义工具。Dify 为 AI Agent 提供了 50 多种内置工具,如谷歌搜索、DALL·E、Stable Diffusion 和 WolframAlpha 等。
- LLMOps:随时间监视和分析应用程序日志和性能。您可以根据生产数据和标注持续改进提示、数据集和模型。
- 后端即服务:所有 Dify 的功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。
Dify 开源地址:https://github.com/langgenius/
二、本地私有化部署Dify
2.1 环境与资源准备
2.1.1 环境要求
- 在安装 Dify 之前,请确保您的机器满足以下最低系统要求: 2 Core | 4 GB。
- 提前安装 Docker、Docker Compose,并启动 Docker 服务。
- 为了方便查看项目源码,以及部署全流程需要提前安装Cursor。
以下我的电脑配置:

2.1.2 安装Docker
登录Docker官网:https://www.docker.com,下载Docker Desktop Installer.exe,下载完成后根据系统提示一路next即可。

安装完成后,在Docker.desktop界面点右下角Engine paused后边的运行按钮。

启动Docker后,可以看到下图中的界面,Containers是容器管理界面,Images是镜像管理界面。

配置国内镜像源:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://s4uv0fem.mirror.aliyuncs.com",
"https://docker.1ms.run",
"https://registry.dockermirror.com",
"https://docker.m.daocloud.io",
"https://docker.kubesre.xyz",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.1panel.live",
"https://docker.kejilion.pro",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://hub.littlediary.cn",
"https://proxy.1panel.live",
"https://docker.1panelproxy.com",
"https://image.cloudlayer.icu",
"https://docker.1panel.top",
"https://docker.anye.in",
"https://docker-0.unsee.tech",
"https://hub.rat.dev",
"https://hub3.nat.tf",
"https://docker.1ms.run",
"https://func.ink",
"https://a.ussh.net",
"https://docker.hlmirror.com",
"https://lispy.org",
"https://docker.yomansunter.com",
"https://docker.xuanyuan.me",
"https://docker.mybacc.com",
"https://dytt.online",
"https://docker.xiaogenban1993.com",
"https://dockerpull.cn",
"https://docker.zhai.cm",
"https://dockerhub.websoft9.com",
"https://dockerpull.pw",
"https://docker-mirror.aigc2d.com",
"https://docker.sunzishaokao.com",
"https://docker.melikeme.cn"
]
}

2.1.3 安装Cursor
登录Cursor官网:https://cursor.com/cn,下载安装包。下载完成后根据系统提示一路next。

2.1.4 获取ModelArts模型token
- 登录
登录ModelArts AI开发平台:https://www.huaweicloud.com/product/modelarts/studio.html,进入ModelArts Studio控制台。

控制台后面选择西南-贵阳一,左侧选择模型推理 > 在线推理,右侧在预置服务 > 免费服务中找到DeepSeek-V3-32K(NEW),点操作栏的领取额度,领取完后,点后边的调用说明。

- 获取API地址和model参数
调用说明里选择OpenAI SDK页签,复制保存接口信息中的API地址、model参数。

- 获取API Key
点API Key管理的超链入口,进入API Key管理界面配置API Key。

点右上角的创建API Key,对话框里任意编辑一下标签名称和描述,点确定。然后在下一个对话框中复制并保存密钥。

注意提示信息:请将此密钥保存在安全且可访问的地方。这是唯一一次可以查看密钥的机会。您以后将无法查看它。但您可以随时创建新的访问密钥。
- 参数汇总
汇总下模型ModelArts-deepseek-v3模型关键参数:
- API地址:
https://maas-cn-southwest-2.modelarts-maas.com/v1/infers/271c9332-4aa6-4ff5-95b3-0cf8bd94c394/v1 - model参数:
DeepSeek-V3 - API Key:
nK9HJqSkuVqndXw8jhR9UONEB1L5DYJsIW3IwteS8VS8pkiy54G-E-Ouc*********BsES1FdJ3xUw
2.1.5 获取DeepSeek模型参数
登录官方DeepSeek开放平台:https://platform.deepseek.com/top_up
- 充值

- 创建API Key,并复制保存。


- 查看官方API文档
登录deepseek官方API文档地址:https://api-docs.deepseek.com/zh-cn/,通过官网文档我们可知base_url和model参数。

- 参数汇总
汇总下模型deepseek模型关键参数:
base_url : https://api.deepseek.com/v1
model参数:
deepseek-chat 模型指向 DeepSeek-V3-0324,** 通过指定 model='deepseek-chat' 调用。
deepseek-reasoner 模型指向 DeepSeek-R1-0528,** 通过指定 model='deepseek-reasoner' 调用。
api_key:sk-0cadb1aa************c494cc43aeec
2.1.6 获取 Dify 源码
登录 Dify 开源地址:https://github.com/langgenius/dify/,下载源码ZIP文件。解压到指定目录..../dify-main。

2.1.7 财务报表模拟数据
点击财务报表模拟数据,将财务报表.xlsx下载到本地备用。
2.2 部署 Dify
2.2.1 Cursor打开 Dify 源码
在Cursor右上角File > Open Folder,打开上一步中解压到指定目录的 Dify 源码。


2.2.2 配置文件.env
将dify-main/docker目录下的.env.example文件在源目录下复制并修改其名称为.env

如果需要自定义配置,请参考 .env.example 文件中的注释,并更新 .env 文件中对应的值。
此外,还可以根据具体部署环境和需求对 docker-compose.yaml 文件本身进行调整,例如更改镜像版本、端口映射或卷挂载。完成任何更改后,请重新运行 docker-compose up -d。您可以在此处找到可用环境变量的完整列表。
2.2.3 拉取docker镜像,启动 Dify
在Cursor编辑器中点右上角的Toggle pannel,然后选择Terminal窗口,输入如下命令。
docker-compose up -d

输入名命令后,Docker会优先从镜像库拉取镜像到dify-main/docker目录下,然后启动容器,启动时间稍长(3-5分钟),请耐心等候。

启动成功后即可通过地址http://localhost/可以网页访问 Dify ,在正式访问前需要先通过http://localhost/install来设置管理员账号。

点击设置,成功登录 Dify 页面。

三、构建财务报表分析模型
3.1 创建 Chatflow 应用
在 Dify 工作室界面,点击创建空白应用。在创建空白应用界面,我们可以看到Workflow和Chatflow两种可供选择的选择应用类型。

工作流将复杂任务拆解为较小的步骤(节点),有效降低了系统复杂度。这种方法减少了对提示词技巧和模型推理能力的过度依赖,显著提升了LLM应用处理复杂任务的性能,同时增强了系统的可解释性、稳定性和容错性。
工作流主要分为两类:
- Chatflow: 面向对话场景,如客户服务、语义搜索及其他需要多步推理的对话应用。
- Workflow: 面向自动化和批处理场景,适用于高质量翻译、数据分析、内容生成、邮件自动化等任务。
这里我们选择 Chatflow ,并编辑应用名称、图标、描述等关键信息。然后点击创建,进入编排页面。

3.2 配置编排任务
后续我们要创建新的编排任务,这里先将系统模板自带的LLM节点和直接回复节点删除,仅保留开始节点。
3.2.1 配置开始节点 - 添加上传文件变量
点击开始节点 > 输入字段右侧的加号,在打开的添加变量窗口中参考如下信息进行配置:
- 字段类型:文件列表;
- 变量名称:自定义,如text;
- 显示名称:自定义,如text;
- 支持的文件类型:文档;
- 上传文件类型:两者;
- 最大上传数:5(默认)。

该步骤,可以使后续新增的编排节点,自动识别通过该变量上传的文档。
3.2.2 创建配置文档提取器节点
在Dify中,LLM节点自身无法直接读取或解释文档的内容,因此需要将用户上传的文档,通过文档提取器节点解析并读取文档中的信息,转化文本之后再将内容传给LLM以实现对文件内容的处理。
点击开始节点右侧的**+,添加文档提取器节点**。

文档提取器节点添加完成后,开始对其进行配置。选中文档提取器节点,设置输入变量,选择开始节点中添加上传文件变量text。

3.2.3 创建配置LLM节点
LLM(Large Language Model)是当前人工智能领域最具革命性的技术之一,是一种基于深度学习框架构建的人工智能系统,通过在海量的文本数据上进行预训练,学习语言的统计规律和语义关系,从而获得理解和生成人类语言的能力。
- 创建LLM节点
LLM节点的作用是调用大语言模型的能力,处理用户在开始节点中输入的信息(自然语言、上传的文件或和图片),给出有效的回应信息。点击文档提取器节点右侧的加号,添加LLM节点。

- 配置模型
添加完成后,下一步进行模型配置。选中新增的LLM节点,在右侧LLM配置界面中,找到模型 > 模型设置。

在模型设置界面,模型供应商 > 安装模型供应商中找到我们需要的模型插件:深度求索(deepseek)和OpenAI-API-compatible,点安装按钮进行安装。


注意:Dify 模型设置仅支持单模型供应商,这里列举两种供应商配置方式。本文后续选用基于OpenAI-API-compatible配置ModelArts进行演示。
两种模型各有优缺点:
- Deepseek:需要花点小钱,充值购买tockens,优点是响应速度快;
- ModelArts(deepseek):华为云免费资源200万免费token,缺点是响应速度慢。
安装完成后,在待配置一栏中我们可以看到刚才已经安装好的模型供应商插件。点击后面的设置,对模型开始进行配置。
基于OpenAI-API-compatible配置ModelArts:
| 参数名称 | 参数配置 |
|---|---|
| 模型类型 | LLM |
| 模型名称 | DeepSeek-V3 |
| 模型显示名称 | DeepSeek-V3 |
| API Key | API Key:nK9HJqSkuVqndXw8jhR9UONEB1L5DYJsIW3IwteS8VS8pkiy54G-E-Ouc*********BsES1FdJ3xUw |
| APIendpoint URL | API地址:https://maas-cn-southwest-2.modelarts-maas.com/v1/infers/271c9332-4aa6-4ff5-95b3-0cf8bd94c394/v1 |
| APIendpoint中的模型名称 | model参数:DeepSeek-V3 |

deepseek模型配置方法:
| 参数名称 | 参数配置 |
|---|---|
| API Key | base_url : https://api.deepseek.com/v1 |
| 自定义API endpoint地址 | api_key:sk-0cadb1aa************c494cc43aeec |

配置完成后,ESC退出模型设置界面,返回编排页面。在编排页面选中LLM节点,在右侧LLM配置界面模型选项中,选择DeepSeek-V3。

- 配置LLM节点上下文变量
模型配置完成后,选中LLM节点,配置添加上下文变量。这里应选择文档提取器中设置的text变量,开始节点上传的文档经过文档提取器转化,使其成为LLM可以理解的格式,以便大模型更好的理解分析文档内容。

- 添加系统提示词Prompt
提示词是用户给大语言模型输入的指令或者问题,用于引导模型生成符合预期的回答或内容,其核心作用是明确任务要求,控制输出方向,并优化大语言模型的响应质量。
将以下提示词模板复制到图中SYSTEM模块中。
# 任务
- **主要目标**:全面解析企业的财务报表结构,识别关键财务指标与潜在风险。
- **目标**:详细说明资产负债表、利润表、现金流量表等核心部分的内容与逻辑关系。
- **要求**:结合财务比率分析、趋势分析和行业对比,深入评估企业财务健康状况。
- **限制**:无特别格式限制,但需保持分析的严谨性和逻辑性。
- **预期输出**:财务报表的结构化解析,包括各部分的核心内容、作用及分析结论。
# 推理顺序
- **推理部分**:
1.识别报表类型:确认分析对象为资产负债表、利润表、现金流量表等;
2.分解核心部分:逐项解析报表中的关键科目(如流动资产、营业收入、现金流等);
3.数据验证:检查数据的一致性(如资产负债表借贷平衡、利润表与现金流量表关联性);
4.财务比率计算:计算流动性比率(如流动比率)、偿债能力比率(如资产负债率)、盈利能力比率(如ROE)等;
5.趋势与行业对比:分析历史数据趋势及与行业平均水平的差异;
6.风险与机会识别:基于分析结果,指出潜在财务风险或增长机会。
- **结论部分**:
1.总结企业核心发现:如企业盈利是否稳定、现金流是否健康、负债是否可控;
2.提出建议:如优化资本结构、改善营运效率或调整投资策略。
# 输出格式
- **解析格式**:以报表类型为标题,分项说明各部分的内容与作用。
- **结构形式**:Markdown表格,增强可读性。
- **具体说明**:每个部分需包含以下内容:
1.报表类型:资产负债表、利润表、现金流量表等;
2.核心内容:报表中关键科目及数据组成;
3.作用:分析该部分对财务健康评估的贡献;
4.分析维度:涉及的财务比率、趋势或行业对比等。
### 交互规则
1. **问题范围**:仅接受与**资产负债表、利润表、现金流量表**相关的分析请求
2. **偏离引导**:当问题涉及战略、市场、人力等非财务领域时,系统将提示:
> "当前分析聚焦于财务报表维度,请问您需要解析资产负债表结构、利润表项目关联性,还是现金流健康度评估?"
### 核心任务
| 分析阶段 | 执行内容 |
|---------------|---------------------------------------------------------------------|
| 1. 报表识别 | 确认目标报表类型(资产负债表/利润表/现金流量表)及会计期间 |
| 2. 科目解构 | 拆解核心科目数值与勾稽关系(如流动资产构成、营收与现金流的匹配度) |
| 3. 数据验证 | 校验三表逻辑一致性(如净利润与经营现金流差异分析) |
| 4. 比率计算 | 输出三大类指标:流动性(流动比率)、偿债性(利息覆盖倍数)、盈利性(ROIC) |
| 5. 多维对比 | 生成趋势对比图(3-5年)与行业分位数对照表(如用箱线图呈现) |
| 6. 风险定位 | 通过红黄绿灯系统标注异常指标(如应收账款周转天数>行业P90标红) |
### 输出规范
```python
def generate_report(data):
"""
结构化输出模板,包含动态交互检测
:param data: 预处理后的财务数据集
:return: Markdown格式分析报告,含自动问题检测
"""
if detect_off_topic(data):
return "⚠️ 检测到非财务分析需求,请提供具体报表数据或咨询以下维度:\n- 资产负债结构健康度诊断\n- 利润质量多维评估\n- 自由现金流测算模型"
else:
return build_markdown_table(data) # 生成标准分析表格

- 打开记忆模块,方便查看提问记录。

3.2.4 创建配置直接回复节点
点击LLM节点右侧的加号,添加直接回复节点。

选中直接回复节点,在其右侧配置界面中,回复内容选择LLM中的输出的text。

为了提高编排任务辨识度,修改了个节点的名称。

3.2.5 配置对话应用文件上传功能
编排页面右上角点击功能按钮,打开文件上传功能,点其下方的设置按钮。在文件上传设置界面,参考配置如下参数:
- 文件上传设置:两者;
- 最大上传数:3;
- 支持的文件类型:文档。
完成上述配置后,点击保存。

3.3 发布、预览测验与运行
3.3.1 发布更新
编排页面右上角点击发布按钮,在其下拉菜单中选择发布更新。

3.3.2 预览与测验
在编排页面,鼠标点击编排画布空白处,然后点右上角的预览按钮,打开预览界面。

点击从本地上传之前已经下载的财务报表.xlsx。并输入对话内容:“帮我做一下现金流健康度评估”。工作流分析并给出正确答复。

3.3.3 运行
在编排页面,在右上角发布下拉菜单中选择运行。

点Local upload,上传财务报表模拟数据,并输入对话内容:“帮我分析一下资产负债情况”。工作流分析并给出答复。


更多推荐


所有评论(0)