前两天看到一个dify的插件rookie_text2data,能支持自然语言查询数据库,动手实践一下效果。

首先dify要支持插件,需要版本至少升级1.1.1版本,在插件市场搜索rookie_text2data安装,目前市场只有0.1.0版本,github已经升级0.1.5版本,可以从github下载后,本地升级。

新建一个自然语言查询数据库的chatflow应用

在开始节点新增一个工具节点,选择rookie_text2data:

设置节点连接数据库的信息,可以设置默认的表名,若不选择会从数据库schemal查询所有表,库大的时候会影响token数量,该节点我们选择的模型是qwenmax。

执行过程中,该节点会输出大模型理解转换后的SQL语句

下一步,新增一个工具节点,选择rookie_exec_sql

该节点主要利用上一步大模型提取的SQL,去数据库执行,并返回执行结果

如果执行SQL节点选择是json,直接输出结果节点是文本会取不到数据,中间需要用Python脚本做一下转换,提取真实的查询结果

并在直接回复中输出代码执行的结果

转载作品,原作者:,文章来源:https://www.toutiao.com/article/7487445245861413410