当前位置: 首页 > news >正文

从零开始学习Dify-数据库数据可视化(五)

概述

上一篇文章我们围绕 Excel 文件展开数据可视化教学,逐步掌握了数据导入、图表构建和 AI 智能分析。在实际业务环境中,很多数据并不是保存在表格中,而是存储于数据库系统中,尤其是最常见的 MySQL。本篇作为本系列的第五篇,将聚焦于如何在 Dify 中连接 MySQL 数据库,动态获取数据,并将其可视化展示。相比静态的 Excel 文件,MySQL 的实时性和结构化特征将为可视化带来更大价值。本篇将一步步带你完成从数据库接入到图表生成,再到智能分析的完整流程。

构建工作流

  • 开始节点:就是一个输入框,告诉AI我们要干什么,需求是什么。

  • 知识检索:提供详细的数据库表的DDL,包含注释等,这样大模型才能正确理解我们的数据字段,才可以根据自然语言生成查询数据的SQL,以便去数据库查询。

  • LLM节点:这个节点负责把我们的自然语言转换成SQL语句,可以选择多家模型进行测试,看哪个效果好,我这里用的是qwen-coder-turbo-latest。
    • promt如下:
你是一个数据分析师,擅长使用SQL查询数据库,根据用户
数据库的表结构 当 上下文 和用户的查询要求给出对应的
sq|语句。用户的查间要求是:[变量]。
注意生成的SQL必须经过严格的校验。你可以使用函数在用
户输入类似于”求和”或”总和”时,则在sq/语句中使用
SUM0。用户输入类似于”平均数”或”平均”时,在在sql语句
中使用AVG0。
要求
1.如果用户输入的内容无法生成为sq|语
句,请直接说“抱歉,该命令无法形成数据库查询操作”。
2.当可以生成sql语句时,请确保输出的内容为完整正确的sql语句,除此以外不要输出其他任何信息,不要注释和说明,也不要格式化,不要用markdown格式来输出,直接输出纯文本,也不要输出 \n 这样的回车换行符,确保你生成的sql
语句可以直接执行查询操作。
3.对于字符串内容的查询请使用LIKE操作而不是等于操作。
4.禁止中间过程输出。
  • 参数提取器:节点的作用是从LLM节点的输出里提取出合法SQL语句,上一个节点返回的数据可能会被包装成md的格式,这里要根据实际的情况调整一下。上一个节点我使用qwen-coder-turbo-latest生成SQL的时候。
  • HTTP请求节点:把上一个节点的SQL语句发给后台,让后台执行这个SQL查询数据库,然后拿到数据。这里的参数要和后台接口一致,包括接口url,方法,body的返回格式等。

  • 解析数据库数据:从上一个节点的输出里解析出我们需要的,方便下一个节点处理的数据。

  • Echarts 数据提取节点:该节点的作用是从前一个节点的输出中提取出 Echarts 所需的数据,过滤掉无关内容,仅保留用于图表渲染的核心信息。
  • LLM 处理节点:此节点将上一步输出的数据转换为 Echarts 可识别的图表数据结构。提示词的设计可以参考上一期的内容。
  • 参数提取器节点:负责从上一个节点的输出中抓取 Echarts 执行所必需的参数,其他无关数据会被剔除。多个参数提取器节点的功能类似,都是从 Markdown 格式或其他结构化内容中提取出图表渲染所需的关键数据。
  • 代码执行节点:在该节点中编写代码以接收前一节点的数据,并生成 Echarts 图表的最终结构。
  • 最终回复节点:将上一节点生成的 Echarts 图表内容作为最终结果进行输出和展示。

预览结果

总结

通过本篇学习,我们掌握了如何将 MySQL 数据库接入 Dify,实现实时图表的构建与自动更新。相比 Excel 数据,MySQL 的动态性与结构化优势让数据可视化更具实用价值,特别适合销售监控、订单跟踪、客户分析等场景。Dify 强大的图表引擎与 AI 问答系统,让非技术人员也能轻松操作数据库数据,快速洞察业务趋势。下一篇我们将探索如何通过自动化工具(如 Webhook、API)让 Dify 接收来自第三方系统的数据更新,进一步实现全流程自动化的数据分析体验。

http://www.dtcms.com/a/297892.html

相关文章:

  • java的设计模式及代理模式
  • 负载均衡:提升业务性能的关键技术
  • Zabbix告警系统集成指南:从钉钉机器人到网易邮件的全流程配置
  • pytest-html 优势及与其他插件对比
  • 自动驾驶领域中的Python机器学习
  • VLA:自动驾驶的“新大脑”?
  • npm init vite-app runoob-vue3-test2 ,npm init vue@latest,指令区别
  • C语言第 9 天学习笔记:数组(二维数组与字符数组)
  • Java-Properties类和properties文件详解
  • 同声传译新突破!字节跳动发布 Seed LiveInterpret 2.0
  • 深入探索嵌入式仿真教学:以酒精测试仪实验为例的高效学习实践
  • C++常见面试题之一
  • win11平台上mysql 数据库迁移
  • 【C#补全计划:类和对象(七)—— 重写虚方法】
  • CMOS知识点 双阱工艺 三阱工艺
  • 大数据中心——解读60页IDC云数据中心机房运维服务解决方案【附全文阅读】
  • 【优选算法】链表
  • 2025.7.25 测试 总结
  • C/C++---I/O性能优化
  • ISAAC ROS 在Jetson Orin NX上的部署
  • 自动化UI测试工具TestComplete的AI双引擎:即时数据集 + 自愈测试
  • BGP负载均衡-9
  • C#观察者模式示例代码
  • Qt 拔网线等情况下收不到disconnected()信号
  • 数据结构之 【排序】(非递归实现快速排序)
  • 【Web安全】逻辑漏洞之URL跳转漏洞:原理、场景与防御
  • QEMU RISCV TCG 详解六 -- RISCV CPU 的使能(How a RISCV CPU Realized)
  • 算法:数组part02: 209. 长度最小的子数组 +
  • 视频孪生技术赋能仓储智慧化转型
  • Leetcode力扣解题记录--第21题(合并链表)