基于DeepSeek+Dify构建财务报表分析模型

构建财务报表AI分析模型

1 概述

1.1 背景介绍

DeepSeek 是一家创新型科技公司,长久以来专注于开发先进的大语言模型(LLM)和相关技术。该公司推出了比较出名的模型有 DeepSeek-V3 和 DeekSeek-R1。DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。

Dify是一款面向开发者和企业的AI应用开发平台,致力于降低AI技术的使用门槛。通过可视化工作流编排和低代码开发模式,用户无需深厚的技术背景即可快速构建、部署和管理AI驱动的智能应用。

1.2 适用对象

  • 企业
  • 个人开发者
  • 高校学生

1.3 案例时间

本案例总时长预计40分钟。

1.4 案例流程

80e9ee67f8a769884b1bbad7de83171d.png{{{width="35%" height="auto"}}}

说明:

① 用户登录华为开发者空间; ② 在云主机配置Dify操作环境; ③ 浏览器打开Dify,构建模型应用。

1.5 资源总览

本案例预计花费0元。

资源名称规格单价(元)时长(分钟)
开发者空间2vCPUs | 4GB X86 |Ubuntu 22.04 Server定制版040

2 获取模型服务

2.1 领取模型

本案例中,使用华为开发者空间登录MaaS,获取模型服务。

ModelArts Studio(MaaS)平台,是华为云推出的一款大模型即服务平台,可以一站式的对业界主流开源大模型进行部署托管,同时开放大模型API服务,可以结合业界主流Agent开发框架,轻松构建AI Agent应用。

  1. 在开发者空间firefox浏览器,输入华为云网址:https://www.huaweicloud.com/进入华为云首页。
  2. 在华为云的首页右上方,点击登录,在弹出的对话框中输入自己的用户名和密码。

    d8de21b5c02e91ae0373286e283cef41.PNG

  3. 登录成功后,在华为云首页,依次选择产品>人工智能>AI基础平台>ModelArts Studio大模型及服务平台,进入ModelArts Studio页面。

    89f544819d8b709ab009ee86d82300a9.PNG

    4. 进入到ModelArts Studio页面后,点击进入控制台。

    2a6a18aec6d9306464051e0408e6aa2c.PNG

    5. 进入到ModelArts Studio控制台后,首先左上角地域选择西南贵阳一,随后点击在线推理>免费服务

    7a9e0daddf70c9899bdd32698589f1ba.PNG

    6. 点击领取额度,额度领取成功后需要等待2-3分钟才可以生效,随后点击调用说明,获取模型名称以及API地址,这里我们领取DeepSeek-R1-32K

    68dbe22f2ced2c046c73ff56ee6800eb.PNG

7. 点击调用说明后,可以获取到模型名称、API地址。

0efc4890c5e3adc179924260a23046d9.PNG

2.2 API Key获取

在调用说明页面,点击API Key管理,前往API Key获取页面。

ab36c837dce86dd52e726e4de5f4e37d.PNG

进入API Key页面后,点击右上角创建API Key,输入标签描述,然后点击确定。

5b126a360d3a1ee73c920c4afbf2af79.PNG

点击确定后就可以获取到API Key了。(注意:创建好的API Key只会显示这一次,所以请保存好,方便后续调用。如果API误关后,可以删除重新创建,但最多创建5个。)

bbc9dc8377c6ac57e17dfbb1f844d2c0.PNG

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

0ea47ae502036a5f4affb50013ad9e7a.PNG

安装脚本下载完毕后,进行脚本运行。

sudo bash /home/install.sh

4a075e5bc2da6e7d5bac6873b4aa0dd3.PNG

安装完毕后出现安装过程结束,详细日志请查看/var/dify-install.log即为安装成功。

3.2 访问Dify

在开发者空间打开firefox浏览器,输入 http://127.0.0.1 访问Dify.AI。首次登录需要注册管理员账号,需要使用到邮箱、用户名、密码。

a6ad7f93ef13a390f74c936aacd1d504.PNG

注册完毕后,成功进入到Dify.AI的主页面。

f5d8f19497a952986b88cdf81b419429.PNG

到这里,就成功部署了Dify。

4 功能实现

4.1 工作流构建

工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了LLM应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。主要分为两种:

Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。在当前案例中,使用的就是Chatflow。

Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。

1. 创建应用

点击Dify.AI主页的创建空白应用

05b528286904240dff714832edd70509.PNG

随后点击chatflow,输入应用名称、描述后点击创建。(注:应用名称和描述可以自定义)

ed90d975e9fbe49281d32fa7bc5f6fc8.PNG

创建完毕后,由于后续要增加新的节点,所以将LLM节点和直接回复节点删除。

5767707344c3ec99eb07df710c23faa3.PNG

2. 配置开始节点

点击开始节点->输入字段右侧的加号,在打开的窗口中参考如下信息进行配置:

  • 字段类型:文件列表;
  • 变量名称:自定义,如text;
  • 显示名称:自定义,如text;
  • 支持的文件类型:文档;
  • 上传文件类型:两者(这里上传文档可以使后续增加的节点读取到我们上传的文档内容);
  • 最大上传数:5(默认)。

0fd725b22ae169f7168ca2769da70794.PNG

3. 配置文档提取器节点

在Dify中,LLM节点自身无法直接读取或解释文档的内容,因此需要将用户上传的文档,通过文档提取器节点解析并读取文档中的信息,转化文本之后再将内容传给LLM以实现对文件内容的处理。

配置完毕后,点击开始节点右侧的加号,添加文档提取器节点

728d845eef106ac2aa01ca294e7b7d2c.PNG

添加完成后,对文档提取器节点开始配置,点击文档提取器节点,在输入变量中将在开始节点设置的变量名称插入(如text)。

67451f39dc40d81f7ead010ec1f024f6.PNG

4. 添加LLM节点

LLM(Large Language Model)是当前人工智能领域最具革命性的技术之一,是一种基于深度学习框架构建的人工智能系统,通过在海量的文本数据上进行预训练,学习语言的统计规律和语义关系,从而获得理解和生成人类语言的能力。

LLM节点的作用是调用大语言模型的能力,处理用户在开始节点中输入的信息(自然语言、上传的文件或和图片),给出有效的回应信息。

点击文档提取器节点右侧的加号,添加LLM节点。

2f9062667ae36f3426a22be9510b8e7f.PNG

5. 配置模型

添加完成后,首先进行模型配置。点击LLM节点->模型->模型设置

cd0fc0efd669cc3461c8195b20078c29.PNG

打开模型设置后,在模型供应商中找到OpenAI-API-compatible(由于是调用MaaS的API,所以在模型供应商中选择此供应商),点击安装

0b39bc10c837aa70e856cadecf118d8d.PNG

安装完毕后,点击模型设置,参数按照下表进行配置。

参数名称参数配置
模型类型LLM
模型名称2.1步骤中获取的模型名称
模型显示名称2.1步骤中获取的模型名称
API Key2.1中获取的API Key
APIendpoint URL2.1步骤中获取的模型URL,将URL最后/chat/completions删除即可
APIendpoint中的模型名称DeepSeek-R1
其他选项配置默认

模型配置完成后,点击LLM节点添加上下文变量,选择文档提取器中我们设置的text变量。选择文档提取器中的变量,是为了将我们上传的文档表格,经过文档提取器的转换,转化为LLM可以理解的格式,以便大模型更好的理解分析文档表格内容。

40e06d35950f609c16f70ebad416033b.PNG

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)  # 生成标准分析表格

2ce52a9d894abe517757527b33a88122.PNG

提示词添加完毕后,将下面的记忆模块打开,方便查看我们的提问记录。

294dc08bde2faf3c9579f4695ee83450.PNG

7. 添加回复节点

点击右侧加号,添加直接回复节点,节点中回复内容选择LLM中的输出内容。

be82fbe5337e69c6a81e7e38eae1bafe.PNG

8. 上传文件

配置完成后,点击功能->文件上传,其余参数配置参考:

  • 文件上传设置:两者;
  • 最大上传数:3;
  • 支持的文件类型:文档。

4bf784ff47ec87ca48393c549e513b75.PNG

9. 发布和预览

配置完毕后点击右上角发布->发布更新

24579b1dd71eb0b3a357558218044218.PNG

保存发布后,点击预览,进行模型效果测试。

09ac3e5b8c9bb979f8ce90d9aac0446a.PNG

4.2 使用模型进行财务报表分析

在弹出页面点击本地上传,上传自己的财务报表。

7091b2cea938e981c11fbfb2dcc56c90.PNG

本案例中提供了虚拟财务报表用于进行效果测试,下载地址:

https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/case/0033/%E8%B4%A2%E5%8A%A1%E6%8A%A5%E8%A1%A8.xlsx

3a4fb030dfdb26c2205f6d7aad0ddef0.PNG

上传完毕后,点击上方剪贴板,输入我们要分析的问题,例如:现金流健康度评估,将问题粘贴到对话框中,点击发送。

5dfab96e4b942eeb05ff03934ab5a4f4.PNG

发送后模型经过思考,就会返回评估结果。

4b507b0846fffdca1abb5ff3f5e44372.PNG

注:由于上传的是模拟虚构的数据,具体分析数据请上传真实财务数据获得分析

至此,基于DeepSeek+Dify构建财务报表分析模型案例完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值