【AI智能体】Dify 搭建数据分析应用实战操控详解

news/2025/9/22 15:30:33/文章来源:https://www.cnblogs.com/tlnshuju/p/19105373

【AI智能体】Dify 搭建数据分析应用实战操控详解

2025-09-22 15:29  tlnshuju  阅读(0)  评论(0)    收藏  举报

目录

一、前言

二、Dify 介绍

2.1 Dify是什么

2.2 Dify 核心特性

2.2.1 Dify 特点

2.2.2 多模型支持

2.2.3 Dify 适应场景

2.3 Dify 在数据分析应用场景中介绍

2.3.1 Dify 数据分析应用的核心能力

2.3.2 基于Dify 搭建数据分析应用一般流程

2.3.3 基于Dify搭建数据分析应用场景

三、基于Dify 搭建一个数据分析应用完整操作过程

3.1 前置准备

3.1.1 配置大模型

3.1.2 安装工具和插件

3.1.3 提前准备2张数据表

3.2 完整操作与配置过程

3.2.1 创建空白应用

3.2.2 增加一个大模型节点

3.2.3 增加数据库执行的第一个插件节点

3.2.4 增加一个模板转换节点

3.2.5 增加提取参数中的SQL大模型节点

3.2.6 增加第二个插件节点

3.2.7 增加条件分支节点

3.2.7.1 第一个条件分支增加大模型节点

3.2.7.2 增加大模型节点

3.2.7.3 增加数据转图表的插件节点

3.2.7.4 增加回复节点

3.2.8 第二个分支节点增加一个大模型节点

3.2.8.1 增加Markdown转换节点

3.2.8.2 增加回复节点

3.2.9 第三个分支增加一个大模型节点

3.2.9.1 增加回复节点

3.2.10 效果测试

四、写在文末


一、前言

在数字化浪潮席卷全球今天,数据已成为企业决策的核心驱动力。可以说,身处当下的时代,不管是否IT企业,都有自身沉淀下来的与企业经营相关的各种数据,比如销售数据,订单数据,各类报表,知识库文档等等,这些数据的存在,成为企业经营过程中必不可少的依赖和宝贵资产。

很多企业意识到数据资产对于企业经营发展的重要性之后,也逐步开始借助各类软件对数据进行开发,应用和消费,比如数据大屏就是很多公司使用的比较高频的形式。

然而,对于这种企业数据的消费模式,是严重依赖背后的技术开发团队的人力投入的。从提需求,到开发,再到最终的交付使用,这一系列的漫长过程会严重拖慢整个经营决策的过程。说到底,还是因为大多数使用数据的人员,对底层数据的使用上面存在较大的障碍。

以mysql为例来说,传统数据查询方式往往依赖于复杂的SQL语句,这对于缺乏编程背景的业务人员而言,无疑是一道难以逾越的鸿沟。正是在这样的背景下,自然语言处理(NLP)与数据库技术的融合,催生了"自然语言转SQL"(Natural Language to SQL,简称NL2SQL)这一创新技术,旨在打破数据查询的壁垒,让数据真正为每个人所用。

在这样的大背景下,随着各类AI智能体平台的诞生和普及,基于AI智能体平台快速搭建特定场景下的应用能力,已经展现出很大的市场潜力,传统的动则几个月甚至更久的软件交付的应用开发过程,在AI智能体平台上或许只需要几个小时,甚至几分钟就可以快速的搭建出来。这样便可以极大提升业务价值的验证周期,从而更快得到业务的反馈,提升业务协作效率。

本篇将基于Dify 智能体平台,以一个实际案例演示下如何快速搭建一个数据分析应用的智能体。

二、Dify 介绍

2.1 Dify是什么

Dify 是一个开源大模型应用开发平台,旨在帮助开发者(智能体应用爱好者)快速构建、部署和管理基于大型语言模型(LLM)的 AI 应用。它提供了一套完整的工具链,支持从提示词工程(Prompt Engineering)到应用发布的全流程,适用于企业级 AI 解决方案和个人开发者项目。

官网入口:https://cloud.dify.ai/apps

中文网入口:https://dify.ai/zh

2.2 Dify 核心特性

2.2.1 Dify 特点

Dify 具备如下核心特点:

  • 可视化编排工作流

    • 通过低代码界面设计 AI 应用流程,无需深入编程即可构建复杂的 LLM 应用。

    • 支持 对话型(Chat App) 和 文本生成型(Completion App) 应用。

  • 多模型支持

    • 兼容主流大模型 API,如 OpenAI GPT、Anthropic Claude、Cohere、Hugging Face 等。

    • 支持私有化部署的 Llama 2、ChatGLM、通义千问 等开源模型。

  • 灵活的提示词工程

    • 提供 Prompt 模板、变量插值、上下文管理等功能,优化 AI 输出效果。

    • 支持 RAG(检索增强生成),可结合外部知识库提升回答准确性。

  • 数据管理与持续优化

    • 记录用户与 AI 的交互日志,用于分析和迭代改进模型效果。

    • 支持 A/B 测试,对比不同提示词或模型版本的表现。

  • 企业级功能

    • 支持 多租户、权限管理,适合团队协作开发。

    • 可私有化部署,保障数据安全。

2.2.2 多模型支持

在Dify控制台上,内置非常多的大模型可供用户选择,比如GPT系列,DeepSeek、千问系列模型等,基于这些模型,应用开发者可以自由灵活的选择并使用。

2.2.3 Dify 适应场景

Dify 适用于多种生成式 AI 应用开发场景:

  • 内容创作与生成

    • 自动化生成文章、报告、营销文案等

    • 结合知识库实现专业领域内容生成(如法律、医疗文档)

  • 智能对话系统

    • 构建多轮对话客服机器人、虚拟助手

    • 通过 Agent 框架实现任务分解与工具调用(如搜索、图像生成)

  • 数据分析与自动化

    • 解读复杂数据并生成可视化报告

    • 自动化业务流程(如工单处理、邮件回复)

  • 个性化推荐与营销

    • 基于用户画像生成个性化推荐内容。

    • 结合RAG实现精准信息检索与推送。

2.3 Dify 在数据分析应用场景中介绍

2.3.1 Dify 数据分析应用的核心能力

利用 Dify 搭建数据分析应用,你会发现它具备如下吸引人的能力:

  • 自然语言查询 (Text2SQL/NL2SQL):

    • 用户只需用日常语言提问(例如“展示本月各部门的销售额占比”),Dify 应用便能借助大模型自动生成相应的 SQL 查询语句。

  • 自动化 SQL 执行与结果获取:

    • 生成的 SQL 语句会被自动发送至目标数据库执行,并获取结果数据。

  • 多样化的可视化展示:

    • 执行结果数据可以进一步生成直观的图表,如饼图、柱状图、折线图等,也支持以表格形式展示6。

  • 多数据源支持:

    • Dify 支持连接多种类型的数据库,常见的有 MySQL、PostgreSQL、SQL Server 等26。

  • 低代码开发:

    • 通过可视化的工作流 (Workflow) 编排方式连接各个环节5,大幅降低了开发门槛。

2.3.2 基于Dify 搭建数据分析应用一般流程

  1. 搭建一个智能数据分析应用,通常包含以下核心环节,你可以通过 Dify 的工作流来编排和实现这个过程:

    1. 用户输入自然语言:

      1. 用户在前端界面提出分析需求。一般是一段自然语言描述,不需要很专业的术语即可。

  1. LLM 解析并生成 SQL:

    1. 大模型根据用户需求、预设的 Prompt 指令以及数据库结构信息,生成合规且高效的 SQL 查询语句。

      1. 此环节的 Prompt 设计非常重要,需要明确规则,例如指定输出仅包含 SQL 语句、确保语法兼容特定数据库、限制结果集数量等。

  2. 执行 SQL 查询:

    1. Dify 调用数据库连接组件,安全地执行生成的 SQL 语句,并获取返回的数据集。

  3. 结果分析与格式化:

    1. LLM 可能会对 SQL 查询结果进行进一步的分析、总结或解释。有时也需要将数据转换为特定格式以适应可视化组件,例如将 JSON 数据中的键和值拼接成字符串。

  4. 可视化展示:

    1. 将处理好的数据传递给可视化组件(如 ECharts),生成图表,并最终将分析报告(文本 + 图表)呈现给用户。

2.3.3 基于Dify搭建数据分析应用场景

Dify 数据分析应用可以广泛应用于各种业务场景:

  • 销售与市场分析:快速生成销售报表、分析渠道效果、监控关键指标(KPI)。

  • 人力资源管理:分析员工 demographics、薪酬分布、离职率等(基于经典的 employees 数据集)。

  • 客户分析:分析客户行为、细分客户群体、计算客户生命周期价值(CLV)等。

  • 财务与合规审计:跟踪费用支出、检测异常交易、辅助审计流程。

  • 运营监控:可视化业务运营状态,快速定位问题。

三、基于Dify 搭建一个数据分析应用完整操作过程

最终流程配置效果展示如下图

3.1 前置准备

3.1.1 配置大模型

Dify提为应用开发者提供了众多大模型可供集成使用,但需要使用者以插件方式安装并集成进去。在账户那里右键设置,进入模型供应商设置那里,可以看到有很多大模型可供集成,入口:https://cloud.dify.ai/signin

你可以选择合适的模型供应商进行安装,比如我这里选择了DeepSeek ,通义千问大模型,以及国内的硅基流动大模型集成平台,主要是把对应的模型供应商的apikey配置进去即可。

3.1.2 安装工具和插件

如下,安装这个rookie_text2data的工具,基于该插件,可以将自然语言转sql

再安装一个数据转图表的工具插件

安装Markdown转换器插件

3.1.3 提前准备2张数据表

后续会模拟从数据库查询数据,因此需要提前准备2张数据表

数据库相关表结构说明:
1、员工表(employees)完整建表sql如下:
CREATE TABLE `employees` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`emp_name` varchar(32) DEFAULT NULL COMMENT '员工名称',
`age` int DEFAULT '0' COMMENT '员工年龄',
`gender` varchar(32) DEFAULT '' COMMENT '员工性别',
`department_id` bigint DEFAULT NULL COMMENT '所属部门ID',
`department_name` varchar(32) DEFAULT '' COMMENT '所属部门名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 COMMENT='员工表';
2、部门表(depart)完整建表sql如下:
CREATE TABLE `depart` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`depart_name` varchar(32) DEFAULT NULL COMMENT '部门名称',
`depart_code` varchar(32) DEFAULT NULL COMMENT '部门编码',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 COMMENT='部门表';
两个表的关联关系说明:
employees(员工表)中的department_id字段为depart(部门表)的外键,即员工表的department_id是部门表的id主键这个字段

3.2 完整操作与配置过程

3.2.1 创建空白应用

如下,创建一个chatflow类型的应用

创建完成后,将默认跳转到下面的流程配置页面

3.2.2 增加一个大模型节点

该大模型节点用于解析用户输入的问题,确保后续的步骤能够正常的执行,在系统提示词那里配置如下内容

# 角色
你是一位文字提炼专家
# 任务
负责把用户的查询数据需求进行提炼和总结,抓取关键数据查询文字,去掉和数据查询无关的内容,比如生成图表、生成excel、生成表单和数据查询无关的内容,只保留提炼查询数据的文字
# 输出
只输出你提炼后的结果,无需其他言语

用户提示词那里,接收开始节点用户的输入信息

3.2.3 增加数据库执行的第一个插件节点

如下,添加一个text2data的插件节点

参考下面的配置信息,主要是填写数据库连接的相关信息,比如数据库账号,数据库名称,地址等

在自定义提示那里,将本次涉及到的相关mysql表结构填写进去

最后选择一下模型

3.2.4 增加一个模板转换节点

上面的输出内容中,目标需要的sql在json参数中,需要从参数中将包含sql语句的参数提取出来

3.2.5 增加提取参数中的SQL大模型节点

通过该大模型节点,将上一步的参数中的SQL语句提取出来,在系统提示词中做如下配置:

你是一位精通SQL语言的数据库专家,熟悉MySQL数据库。你的的任务是检查该Sql语句是否有错,如果有错请更正,没有错则输出Sql语句。
回答要求:
1.不能包含任何多余的信息。
2.必须是可以执行的SQL语句。
3.删除掉Sql中的\n,用空格替换。

3.2.6 增加第二个插件节点

该节点用于从前一个节点的返回的sql进行执行,从而得到真正的sql执行结果

这个节点的配置也主要是数据库的连接信息,参考下面的图进行核心参数的配置即可

3.2.7 增加条件分支节点

在后续的处理逻辑中,会涉及到多种不同类型的业务处理,比如生成图表,生成markdown格式的输出,生成excel等,这里需要通过一个条件分支节点来进行判断

  • 在下面的条件分支判断中表示,如果用户输入的问题中包含了图,说明后面要通过流程配置生成分析图

  • 如果用户输入包含了 excel,表示需要为用户输出excel文件;

  • 其他情况下走else的处理;

接下来依次配置各个流程分支的情况。

3.2.7.1 第一个条件分支增加大模型节点

如下,在第一个条件分支后面增加一个大模型节点,用于解析上一步的输出结果,推荐合适的图表类型,配置如下提示词

# 任务
根据用户的需求,以及数据内容,自行判断哪种图表类型合适
# 输出
只输出你推荐的图表类型名称,从以下图表类型中选择一个输出:柱状图,折线图,饼图,散点图,带有涟漪特效动画的散点(气泡)图,K线图,雷达图,热力图,数图,矩形树图,旭日图,地图,路径图。

用户提示词配置如下内容,配置用户的提问内容,以及上一步执行sql的结果

3.2.7.2 增加大模型节点

该大模型节点用于将前面sql执行器的结果转为json格式内容,参考下面的配置信息

3.2.7.3 增加数据转图表的插件节点

增加一个新的插件节点,用于将json格式数据转为echarts图表需要的格式形式,从而展示图表,节点配置信息参考下面的图进行配置

3.2.7.4 增加回复节点

最后增加一个直接回复节点

3.2.8 第二个分支节点增加一个大模型节点

在第二个分支增加一个大模型节点,用于将sql执行的结果转为Markdown格式的内容,参考下面的节点配置信息

3.2.8.1 增加Markdown转换节点

该节点用于将前一步的Markdown格式的内容转为excel文件

配置一下输入的参数即可

3.2.8.2 增加回复节点

最后增加一个回复节点,输出excel结果,这里选择上一步生成的excel文件

3.2.9 第三个分支增加一个大模型节点

该节点用于对sql执行的结果进行分析总结,系统提示词参考下面的内容进行配置

#角色
你是一个精通数据处理、分析和总结的大师
# 任务
你可以根据用户的问题,从提供的数据库中检索相关信息,整合提炼后用精准合适的自然语言回复用户
# 输出
1、若用户只是查询数据,则提炼后直接回复数据内容即可
2、若用户需要你分析数据,则可以结合数据给出专业的分析内容

3.2.9.1 增加回复节点

最后增加一个回复节点,接收上一步的LLM节点的总结输出内容

3.2.10 效果测试

上面的流程配置完成后,点击发布更新、预览,然后分别测试下不同的分支下的效果

1)测试图表展示

如下,输入问题,统计各个部门的员工数,并绘制饼状图

2)测试生成excel

这一次测试生成一个excel

等待流程执行完成之后,下载excel,得到的也是符合预期的输出结果

3)测试分析结果

如果上面两个分支都不满足,将会走内容分析的分支,比如输入下面的问题,将会给出比较详细的分析报告输出

四、写在文末

本文通过较大的篇幅详细介绍了基于Dify实现一个数据分析的智能体应用,并通过详细的操作步骤展现了完整的配置过程,希望对看到的同学有用哦,本篇到此介绍,感谢观看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leveraging Context-Aware Prompting for Commit Message Generation 论文笔记

介绍 (1) 发表:EMNLP24 (2) 背景 现有方法通常存在一些缺点,例如只关注变化的行是不够的,或者在变化周围包含不相关的行会带来噪声。如图 1 所示,添加和删除的代码实际上是相同的,只是位置不同,导致代码更改定义…

P4951 [USACO01OPEN] Earthquake 题解

111首先要知道 0/1 分数规划这个经典模型 给定 \(a_1,a_2....a_n\) 以及 \(b_1,b_2....b_n\) 求一组解 \(x_i(1\leq i \leq n,x_i \in [0,1] )\),使下列式子最大化: \[\frac {\sum_{i=1}^n a_i \times x_i}{\sum_{i=…

门户网站开发需求文档软件外包app

1.如图,实现功能: Hello World!字符串跟随鼠标移动鼠标左击Hello World!颜色为红色鼠标右击Hello World!颜色为蓝色鼠标滚轮滚动改变Hello World!颜色的RGB中的G值 2.实现工具: vs20133.实现步骤: 新建一个win32项目 如图,看到HelloWorldGame.cpp中 _tWinMain()的函…

网站备案信息变更买个小程序多少钱

目录 一、边缘磨损效果 二、刮痕效果 三、边缘磨损与刮痕的混合 四、锈迹效果 本篇效果: 一、边缘磨损效果 将智能材质“Iron Forge Old” 拖入图层 打开“Iron Forge Old” 文件夹,选中“Sharpen”(锐化),增大“…

网站管理人员怎么做手机app软件

目录 运算符 数字运算符 比较运算符 逻辑运算符 转义字符 变量使用 变量定义 变量类型 变量命名 变量函数 input函数 type函数 条件语句 If 格式 案例1,判断年龄 案例2,借钱 案例3,and、or应用 循环语句 for 格式 案例…

深圳网站建设学习网站建设购销合同

1 释放锁流程概述 ReentrantLock的unlock()方法不区分公平锁还是非公平锁。 首先调用unlock()方法。 unlock()底层使用的是Sync.release(1)方法 public void unlock() {<!-- --> sync.release(1); } release(1)方法会调用tryRelease(1)去尝试解锁。 public fin…

个人网站做项目万能软文模板

文章目录 什么是SSH协议&#xff1f;SSH为何是安全的&#xff1f;SSH由哪些组件构成&#xff1f;SSH可以帮助实现的功能SSH的工作原理SSH的历史版本常用的SSH工具有哪些SSH配置案例参考Windows 安装SSHUbuntu系统SSH配置Cisco Switch SSH配置华为Switch SSH配置 客户端启用SSH连…

比较好设计网站wordpress 按钮美化

Vue.js 是一套构建用户界面的渐进式框架。只关注视图层, 采用自底向上增量开发的设计。 目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue 学习起来非常简单。 目录 常用的vue.js版本及方法 学习vue之前需要掌握基础html+css+javaScript知识。 比如: …

python 网站开发书籍wordpress百度熊掌号

牛年跳槽季如火如荼&#xff0c;敏锐点的小伙伴儿应该都留意到了&#xff0c;BAT新年都在招聘.NET。2020年11月份发布.NET5统一了七大应用方向&#xff0c;.NET6的2个预览版已经把Blazor升级、跨平台UI方案MAUI、CLR性能优化等都放出来了&#xff0c;.NET前景充满想象&#xff…

桂林做网站建设的公司电子商务网站建设与管理总结

SCI论文作图规范包括以下几个方面&#xff1a; 一、图片格式 SCI论文通常接受的图片格式包括TIFF、EPS和PDF等。其中&#xff0c;TIFF格式是一种高质量的图像格式&#xff0c;适用于需要高分辨率和颜色准确性的图片&#xff1b;EPS格式是一种矢量图形格式&#xff0c;适用于需…

做网站的例子建设网站的五个步骤

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战4&#xff08;解决Redis缓存穿透、雪崩、击穿&#xff09; &#x1f4da;订阅专…

用ida插件快速审计函数调用

如果xref窗口会显示调用的伪代码,也许就不会有今天...前言 我又要在前言絮絮叨叨一下我是为什么要做这个小插件的了...就不看 在审查程序的漏洞的时候,我们可能会重点关注那么几个重点函数的调用:system肯定是重中之…

【ACM独立出版|往届已EI、Scopus检索|合作SSCI】第二届数字经济与计算机科学国际学术会议(DECS 2025)

第二届数字经济与计算机科学国际学术会议(DECS 2025)将于2025年10月17日至10月19日在中国武汉召开。本次会议旨在汇聚来自全球的学者、研究人员和业界专家,共同探讨数字经济与计算机科学领域的最新发展与应用。随着…

schematool -initSchema -dbType mysql

hive启动之前一定要用这条命令初始化

叶县红色家园网站建设公众号登陆

文章开始之前&#xff0c;建议安装一个显示网速的插件&#xff0c;不然你不知道到底有没有下载&#xff0c;也让生活有一点盼头 1.因为众所周知的原因&#xff08;我dang的行为真的是让人失望&#xff09;&#xff0c;先更换一下ruby镜像源 $ gem sources --remove https://rub…

PostgreSQL 全表 count 优化实践:从 SeqScan 痛点分析到 heapam 改进与性能突破

本文整理自 IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛的演讲分享,演讲嘉宾:权宗亮。本文主要包括以下三部分:SeqScan 现状 heapam 改进 全表计数SeqScan 现状 我们使用了一个稍宽的 SeqScan 表,包含约 10-20 …

微信微网站建设平台wordpress改变友情链接顺序

文学迷 > 玄幻魔法 > 天命神相 > 第一千六百零七章 鸿蒙紫气&#xff0c;成圣之机 (上)第一千六百零七章 鸿蒙紫气&#xff0c;成圣之机功德金身只要达到了八十一重天&#xff0c;大圆满的境界&#xff0c;实力堪混元大罗级别的圣人&#xff0c;这听起来确实是一件吊炸…

逸阳网站建设的目标完整的网站优化放啊

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一. VRRP概述 VRRP---虚拟路由器冗余协议 VRRP&#xff08;Virtual Router Redundancy Protocol&#xff09;是一种用于在多个路由器之间创建虚拟路由器的协议。 VRRP使用了一系列协议来实现路…

学习做网站的孛校呼和浩特网站建设费用

更新&#xff1a;使用 滏阳河边捉蚯蚓 https://zhuanlan.zhihu.com/p/41297136上获取系统PDF文件和zotero.sqlite文件的代码&#xff0c;在此感谢&#xff01;在zotero的library中删除参考文献条目后&#xff0c;有时PDF不会同步删除&#xff0c;尤甚是安装了zotfile插件后&…

登建设厅锁子的是哪个网站sharepoint 网站开发

这里 Allocation failed - JavaScript heap out of memory JavaScript堆内存不足&#xff0c;我们都知道 Node 是基于V8引擎&#xff0c;在一般的后端开发语言中&#xff0c;在基本的内存使用上没有什么限制&#xff0c;但是我去查阅了相关的资料才发现&#xff0c;在 Node 中通…