
基于DeepSeek+Dify构建财务报表分析模型
本次案例通过实操,让开发者深入了解,如何使用Dify和DeepSeek构建财务报表分析模型,体验Dify在AI应用开发中的便捷。
1 概述
1.1 案例介绍
DeepSeek 是一家创新型科技公司,长久以来专注于开发先进的大语言模型(LLM)和相关技术。该公司推出了比较出名的模型有 DeepSeek-V3 和 DeekSeek-R1。DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。
Dify是一款面向开发者和企业的AI应用开发平台,致力于降低AI技术的使用门槛。通过可视化工作流编排和低代码开发模式,用户无需深厚的技术背景即可快速构建、部署和管理AI驱动的智能应用。
本案例通过实操,让开发者深入了解,如何使用Dify和DeepSeek构建财务报表分析模型,体验Dify在AI应用开发中的便捷。
1.2 适用对象
-
企业
-
个人开发者
-
高校学生
1.3 案例时间
本案例总时长预计40分钟。
1.4 案例流程
说明:
① 用户登录华为开发者空间;
② 在云主机配置Dify操作环境;
③ 浏览器打开Dify,构建模型应用。
1.5 资源总览
本案例预计花费0元。
资源名称 |
规格 |
单价(元) |
时长(分钟) |
开发者空间 |
2vCPUs | 4GB X86 |Ubuntu 22.04 Server定制版 |
0 |
40 |
2 获取模型服务
2.1 领取模型
本案例中,使用华为开发者空间登录MaaS,获取模型服务。
ModelArts Studio(MaaS)平台,是华为云推出的一款大模型即服务平台,可以一站式的对业界主流开源大模型进行部署托管,同时开放大模型API服务,可以结合业界主流Agent开发框架,轻松构建AI Agent应用。
1. 在开发者空间firefox浏览器,输入华为云网址:https://www.huaweicloud.com/进入华为云首页。
2. 在华为云的首页右上方,点击登录,在弹出的对话框中输入自己的用户名和密码。
3. 登录成功后,在华为云首页,依次选择产品>人工智能>AI基础平台>ModelArts Studio大模型及服务平台,进入ModelArts Studio页面。
4. 进入到ModelArts Studio页面后,点击进入控制台。
5. 进入到ModelArts Studio控制台后,首先左上角地域选择西南贵阳一,随后点击在线推理>免费服务。
6. 点击领取额度,额度领取成功后需要等待2-3分钟才可以生效,随后点击调用说明,获取模型名称以及API地址,这里我们领取DeepSeek-R1-32K。
7. 点击调用说明后,可以获取到模型名称、API地址。
2.2 API Key获取
在调用说明页面,点击API Key管理,前往API Key获取页面。
进入API Key页面后,点击右上角创建API Key,输入标签和描述,然后点击确定。
点击确定后就可以获取到API Key了。(注意:创建好的API Key只会显示这一次,所以请保存好,方便后续调用。如果API误关后,可以删除重新创建,但最多创建5个。)
3 配置Dify操作环境
3.1 安装Dify
Dify是一个开源的AI应用开发平台与编排引擎,专注于帮助用户快速构建、部署和管理基于大语言模型(LLM)的AI应用。
进入开发者空间,在桌面左下角,打开终端命令窗口,下载Dify.AI安装脚本。
sudo wget -P /home/ https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/case/0022/install.sh
安装脚本下载完毕后,进行脚本运行。
sudo bash /home/install.sh
安装完毕后出现安装过程结束,详细日志请查看/var/dify-install.log即为安装成功。
3.2 访问Dify
在开发者空间打开firefox浏览器,输入http://127.0.0.1访问Dify.AI。首次登录需要注册管理员账号,需要使用到邮箱、用户名、密码。
注册完毕后,成功进入到Dify.AI的主页面。
到这里,就成功部署了Dify。
4 功能实现
4.1 工作流构建
工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了LLM应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。主要分为两种:
Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。在当前案例中,我们使用的就是Chatflow。
Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
1. 创建应用
点击Dify.AI主页的创建空白应用。
随后点击chatflow,输入应用名称、描述后点击创建。(注:应用名称和描述可以自定义)
创建完毕后,由于后续要增加新的节点,所以将LLM节点和直接回复节点删除。
2. 配置开始节点
点击开始节点->输入字段右侧的加号,在打开的窗口中参考如下信息进行配置:
-
字段类型:文件列表;
-
变量名称:自定义,如text;
-
显示名称:自定义,如text;
-
支持的文件类型:文档;
-
上传文件类型:两者(这里上传文档可以使后续增加的节点读取到我们上传的文档内容);
-
最大上传数:5(默认)。
3. 配置文档提取器节点
在Dify中,LLM节点自身无法直接读取或解释文档的内容,因此需要将用户上传的文档,通过文档提取器节点解析并读取文档中的信息,转化文本之后再将内容传给LLM以实现对文件内容的处理。
配置完毕后,点击开始节点右侧的加号,添加文档提取器节点。
添加完成后,对文档提取器节点开始配置,点击文档提取器节点,在输入变量中将在开始节点设置的变量名称插入(如text)。
4. 添加LLM节点
LLM(Large Language Model)是当前人工智能领域最具革命性的技术之一,是一种基于深度学习框架构建的人工智能系统,通过在海量的文本数据上进行预训练,学习语言的统计规律和语义关系,从而获得理解和生成人类语言的能力。
LLM节点的作用是调用大语言模型的能力,处理用户在“开始”节点中输入的信息(自然语言、上传的文件或和图片),给出有效的回应信息。
点击文档提取器节点右侧的加号,添加LLM节点。
5. 配置模型
添加完成后,首先进行模型配置。点击LLM节点->模型->模型设置。
打开模型设置后,在模型供应商中找到OpenAI-API-compatible(由于是调用MaaS的API,所以在模型供应商中选择此供应商),点击安装。
安装完毕后,点击模型设置,参数按照下表进行配置。
参数名称 |
参数配置 |
模型类型 |
LLM |
模型名称 |
2.1步骤中获取的模型名称 |
模型显示名称 |
2.1步骤中获取的模型名称 |
API Key |
2.1中获取的API Key |
APIendpoint URL |
2.1步骤中获取的模型URL,将URL最后/chat/completions删除即可 |
APIendpoint中的模型名称 |
DeepSeek-R1 |
其他选项配置 |
默认 |
模型配置完成后,点击LLM节点添加上下文变量,选择文档提取器中我们设置的text变量。选择文档提取器中的变量,是为了将我们上传的文档表格,经过文档提取器的转换,转化为LLM可以理解的格式,以便大模型更好的理解分析文档表格内容。
6. 添加提示词
提示词是用户给大语言模型输入的指令或者问题,用于引导模型生成符合预期的回答或内容,其核心作用是明确任务要求,控制输出方向,并优化大语言模型的响应质量。
将以下提示词模板复制到图中模块中。
# 任务
- **主要目标**:全面解析企业的财务报表结构,识别关键财务指标与潜在风险。
- **目标**:详细说明资产负债表、利润表、现金流量表等核心部分的内容与逻辑关系。
- **要求**:结合财务比率分析、趋势分析和行业对比,深入评估企业财务健康状况。
- **限制**:无特别格式限制,但需保持分析的严谨性和逻辑性。
- **预期输出**:财务报表的结构化解析,包括各部分的核心内容、作用及分析结论。
# 推理顺序
- **推理部分**: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) # 生成标准分析表格
提示词添加完毕后,将下面的记忆模块打开,方便查看我们的提问记录。
7. 添加回复节点
点击右侧加号,添加直接回复节点,节点中回复内容选择LLM中的输出内容。
8. 上传文件
配置完成后,点击功能->文件上传,其余参数配置参考:
-
文件上传设置:两者;
-
最大上传数:3;
-
支持的文件类型:文档。
9. 发布和预览
配置完毕后点击右上角发布->发布更新。
保存发布后,点击预览,进行模型效果测试。
4.2 使用模型进行财务报表分析
在弹出页面点击本地上传,上传自己的财务报表。
本案例中提供了虚拟财务报表用于进行效果测试,下载地址:
上传完毕后,点击上方剪贴板,输入我们要分析的问题,例如:现金流健康度评估,将问题粘贴到对话框中,点击发送。
发送后模型经过思考,就会返回评估结果。
注:由于上传的是模拟虚构的数据,具体分析数据请上传真实财务数据获得分析。
至此,基于DeepSeek+Dify构建财务报表分析模型案例完成。
更多推荐










所有评论(0)