dify通过查询数据库的数据来进行数据展示

一、数据库准备工作

环境:

# 操作系统
Windows 11 家庭中文版

# 数据库
MYSQL

本人在个人台式机安装MYSQL数据库,并生成了样例数据以便dify平台查询数据库使用

1.生成数据表样例数据

(1)生成样例数据

# 使用百度AI生成高中生成绩表

# 链接
https://www.baidu.com/

# 命令
生成50个高中生的学生成绩表,将该成绩表格转成可导入mysql的SQL文件,不要省略数据

进入百度AI页面

(2)输入命令生成样例数据

(3)样例数据文件student_scores.sql

student_scores.sql文件结构

1.创建数据库
2.创建数据表
3.插入数据

文件下载链接:学生成绩表SQL

2.设置数据库访问权限

(1)安装MYSQL数据库并导入样例数据

打开SQL文件,执行该文件中的命令,生成数据表

(2)打开命令框

(3)创建新用户授予权限

# 查看用户及权限
SELECT User, Host, Select_priv, Insert_priv FROM mysql.user;

# 创建名为server的用户,并允许任意ip访问,密码为server
CREATE USER 'server'@'%' IDENTIFIED BY 'server';

# 授予server用户所有权限
GRANT ALL PRIVILEGES ON *.* TO 'server'@'%';

# 更新权限
FLUSH PRIVILEGES;

# 查看用户及权限
SELECT User, Host, Select_priv, Insert_priv FROM mysql.user;

3.打开端口

(1)打开控制面板,搜索“防火墙”并找到“高级设置”


(2)在“入站规则”中,选择“新建规则”
(3)选择“端口”,点击“下一步”
(4)选择 TCP,指定端口 3306,点击“下一步”
(5)允许连接,点击“下一步”
(6)根据需要,选中域、私有和公用,然后点击“下一步”
(7)为规则命名,完成后点击“完成”

二、dify平台部署安装

本人在服务器以及台式机都有部署该平台,现使用服务器上的dify平台,服务器部署步骤可参照台式机部署步骤:Windows 11 搭建私有知识库(docker、dify、deepseek、ollama)

dify 默认端口被占用,更改端口号

三、dify插件安装

三种安装方式

插件的github地址

# rookie_text2data
https://github.com/jaguarliuu/rookie_text2data

# rookie_data_alchemy
https://github.com/jaguarliuu/rookie_data_alchemy

四、配置大模型

1.获取通义千问 api key

链接:阿里云百炼

2.设置模型

五、dify创建工作流

1.导入DSL文件

下载链接:DSL文件

2.配置模型、插件、数据库信息、调试、测试

# 提问
以图的形式展示数学成绩前五的学生的所有成绩

(1)主界面

(2)工作流运行过程展示

(3)结果展示

# ECHARTS

{
  "title": {
    "text": "数学成绩前五的学生的所有成绩"
  },
  "tooltip": {
    "trigger": "axis",
    "axisPointer": {
      "type": "shadow"
    }
  },
  "legend": {
    "data": [
      "语文",
      "数学",
      "英语",
      "物理",
      "化学",
      "生物"
    ]
  },
  "xAxis": {
    "type": "category",
    "data": [
      "何洛",
      "韩东",
      "陈雨桐",
      "黄明昊",
      "苏有朋"
    ]
  },
  "yAxis": {
    "type": "value"
  },
  "series": [
    {
      "name": "语文",
      "type": "bar",
      "data": [
        93,
        90,
        93,
        91,
        90
      ]
    },
    {
      "name": "数学",
      "type": "bar",
      "data": [
        96,
        94,
        94,
        94,
        93
      ]
    },
    {
      "name": "英语",
      "type": "bar",
      "data": [
        94,
        91,
        89,
        92,
        95
      ]
    },
    {
      "name": "物理",
      "type": "bar",
      "data": [
        92,
        89,
        88,
        89,
        92
      ]
    },
    {
      "name": "化学",
      "type": "bar",
      "data": [
        95,
        93,
        90,
        93,
        94
      ]
    },
    {
      "name": "生物",
      "type": "bar",
      "data": [
        97,
        95,
        92,
        95,
        96
      ]
    }
  ]
}

六、参考链接

1.视频

Dify实用案例:数据库查询,图表展示,Excel生成综合场景】

2.MYSQL

MySQL学习笔记17——用户管理_select user, host from mysql.user;-优快云博客

如何访问局域网下另一台电脑的mysql_两台电脑公用一个mysql数据库csdn-优快云博客

windows 允许其他电脑访问本地mysql数据库 - 魏亚林 - 博客园

其他电脑怎么连接我的mysql数据库_mob64ca12f51824的技术博客_51CTO博客

### 如何在 Dify 中进行数据库查询或实现数据库集成 Dify 是一种用于编排复杂工作流的应用框架,尤其适合于构建 Retrieval-Augmented Generation (RAG) 系统。在这种系统中,向量数据库扮演着至关重要的角色[^1]。为了实现在 Dify 中的数据库查询功能以及完成数据库集成,可以考虑以下几个方面: #### 1. **理解 Dify数据处理架构** Dify 支持多种外部系统的集成,其中包括向量数据库和其他传统关系型数据库。对于 RAG 应用而言,通常会涉及两种类型的数据库: - 向量数据库:如 Zilliz Cloud,其基于 Milvus 构建,能够高效管理大规模高维向量数据,并提供快速相似度搜索能力[^2]。 - 关系型数据库或其他结构化存储解决方案。 通过配置适配器或者插件机制,可以在 Dify 流程中调用这些数据库的服务接口来执行查询操作。 #### 2. **利用 SDK 或 API 实现数据库连接** 要让 Dify 访问特定的数据库资源,可以通过以下方式之一建立联系: - 如果目标是一个像 Zilliz Cloud 这样的云端托管服务,则可以直接借助官方提供的 RESTful APIs 或者 Python 客户端库发起请求; ```python from pymilvus import connections, Collection # 建立到远程实例的链接 connections.connect("default", uri="https://your-zilliz-cloud-endpoint", token="YOUR_ACCESS_TOKEN") collection_name = "example_collection" col = Collection(name=collection_name) results = col.query(expr="field_name == 'value'") ``` - 对于本地部署的关系型数据库MySQL/PostgreSQL),则需引入相应的驱动程序并编写 SQL 查询语句; 上述代码片段展示了如何使用 PyMilvus 来访问一个已存在的集合 `example_collection` 并检索满足条件的数据项。 #### 3. **定义自定义节点逻辑** 当需要更复杂的业务场景时,在 Dify 中创建新的节点类型可能是必要的。这允许开发者封装任意计算过程——包括但不限于跨多个表联结、聚合统计分析等高级SQL命令或是针对嵌入式特征空间内的近邻探测算法应用案例研究等等。 例如,假设我们希望开发一个新的动作节点用来定期同步来自第三方 CRM 系统的新客户记录至内部 Elasticsearch 文档索引里去的话,那么就需要明确指定源端点URL地址参数列表及其认证凭证信息等内容之后再提交给调度引擎安排定时任务计划运行即可达成目的。 --- ### 总结说明 综上所述,要在 Dify 中实施有效的数据库交互行为主要依赖两步走策略:一方面确保选用恰当的技术组件作为底层支撑平台以保障整体方案可行性;另一方面则是灵活运用编程技巧定制专属的功能模块从而最大程度发挥整个生态体系的优势价值所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值