在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”

 测试一下:

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

结果:

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐