以往遇到一些数据分析需求,比如:业务给了1份excel数据,需要开发做个报表对其进行分析,并以图表展示。通常需要了解数据逻辑,进行适当开发,涉及到前后端,费时费力。现在有了AI后,可以用dify搭建个智能数据分析助手,全自动处理。
- 准备数据
我们准备2份excel示例数据(股票数据,以及销售数据)


2.运行效果

3、主要实现逻辑
3.1 流程图

创建1个chatflow,用到的节点参考上图,主要思路如下:
- 开始 - 这里啥也不用干(系统内置了文件上传功能,用这个接收用户上传的excel即可)
- 文档提取器 - LLM默认不认识excel文件,需要用文档提取器节点,把excel的内容提取出来,变成LLM能认识的文本

- LLM节点 - 用大模型进行数据分析,本示例使用deepseek,设置参考下图

- 参数提取器 - 最终结果希望将数据以图表形式展示,会用到echarts这个非常流行的插件,该插件需要特定格式的json,"参数提取器"能从前面LLM分析出来的结果中,提取出echarts所需要的json

- 判断参数是否提取成功 - 【数据分析/参数提取】 并非100%成功,为了保证流程的健壮性,这里加一层判断

- 输出结果 - 直接输出结果即可。如果参数提取成功,用echarts画图,同时输出分析结果

tips: echarts插件在dify中有很多种用法,最简单的方式,就是下面这种方式(
```echarts
这里是echarts所需要的json数据
···
这也是官网echarts推荐的方式:
https://docs.dify.ai/zh-hans/workshop/basic/the-right-way-of-markdown#chart

3.2 文件上传&开场白 设置
开启文件上传功能,允许用户上传excel
开场白设置,可以更好的引导用户操作




小结
本文用dify 结合大模型及echarts插件,【零代码】就实现了一个通用智能数据分析助手。虽然本示例只接收文件上传,但只需稍微扩展,比如:加上db查询能力,就可以用自然语言从db里查询数据进行分析,适应更多的场景。此外,对于一些企业内部的专业性数据,还可以结合特定知识库,让分析结果更精确。