【人工智能-agent】--Dify中自然语言生成SQL查询数据库

发布于:2025-05-13 ⋅ 阅读:(557) ⋅ 点赞:(0)

        在Dify平台中,通过自然语言生成SQL查询(text2SQL或者NL2SQL)是一项核心功能,它允许用户用日常语言描述需求,系统自动转换为结构化查询语句。

        系统框架:


目录

1.下载rookie_text2data

2.创建工作流

3.TEXT-->SQL

4.执行SQL语句

5.输出查询结果


1.下载rookie_text2data

该插件功能是:自然语言查询 MySQL 数据、Sql的执行。目前支持Mysql、PostgreSQL

GitHub地址:https://github.com/jaguarliuu/rookie_text2data

2.创建工作流

1.开始节点,修改名称为用户问题

添加输入字段:input

3.TEXT-->SQL

添加节点工具:添加节点->工具->rookie_text2data,


输入配置信息:ip地址,数据库名等等

可以测试一下:我的数据库是这样:

 单节点测试:

可以看到查询语句已经生成好了

返回的是json格式,所以我们还需要转换成字符str格式,在添加一个节点

3.添加节点->模板转换

输入的变量就是第二个节点输出的**/Json**

4.第四个节点选择添加节点->LLM(大语言模型),并提供System信息指导

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

Json数据:{{#1747019543730.output#}}

4.执行SQL语句

5.第五个节点选择添加节点->工具->rookie_excute_sql,输入的变量就是大模型生成sql语句

6.第六个节点同第三个节点操作

7.第七个节点选择添加节点->LLM(大语言模型),并提供System信息指导,以及User模型指令
文本内容:

你是数据分析专家,分析并输出sql查询结果.


数据是:{{#1747021166822.output#}}
问题是:{{#1746791066048.input#}}
Sql语句:{{#1746791092689.text#}}

回答要求:
1.列出详细数据,优先以表格方式列出数据。


5.输出查询结果

8.第七个节点选择添加节点->结束,输入的变量“/test”

 测试一下:

可以查看每个节点的运行情况:

结果:


网站公告

今日签到

点亮在社区的每一天
去签到