当前位置:首页 > 技术文章 > 使用Dify实现Text2Sql功能并输出图表

使用Dify实现Text2Sql功能并输出图表

最近业务需要,研究的dify插件比较多,今天看下两个基础插件:database 和 echarts ,以及看下如何将其应用到对话过程中;基础概念Text2sql :是个“翻译官”,你只需要对着电脑大喊:“给我找上个月花500以上的VIP螺蛳粉爱好者!” ,AI自动把这句人话转成SQL代码,数据库秒懂,直接吐结果。本质就是个“人话 → 数据库黑话”的转换器。说白了就是让数据库听懂人话的魔法ECharts:让数据“骚”起来的可视化工具,把枯燥的数字变成炫酷图表的“数据化妆师”,专治“Excel 图表

最近业务需要,研究的dify插件比较多,今天看下两个基础插件:database 和 echarts ,以及看下如何将其应用到对话过程中;

基础概念

Text2sql :是个“翻译官”,你只需要对着电脑大喊:“给我找上个月花500以上的VIP螺蛳粉爱好者!” ,AI自动把这句人话转成SQL代码,数据库秒懂,直接吐结果。本质就是个“人话 → 数据库黑话”的转换器。说白了就是让数据库听懂人话的魔法

ECharts:让数据“骚”起来的可视化工具,把枯燥的数字变成炫酷图表的“数据化妆师”,专治“Excel 图表太丑”和“PPT 毫无亮点”两大职场绝症。ECharts = 数据界的特效大师,让图表从“路人甲”变成“奥斯卡最佳视觉效果”!

Dify 是啥?

想象一下,你有个超强但“傲娇”的AI助手,你想让它:当客服(但别乱说话)、查公司文档(别瞎编)、自动写周报(别写成科幻小说);正常情况,你得:学编程(写API)、调Prompt(防AI“胡言乱语”)搭服务器,搞运维(然后头发掉光)但有了 Dify,你只需要:拖拖拽拽(像玩《我的世界》搭房子)、选个模板(比如“AI客服”“文档问答”)、点发布(搞定!)本质:一个“AI应用组装车间”,把大模型、你的数据、业务逻辑像乐高一样拼起来,还能随时调整。

这三个结合起来会有什么不一样的效果?

先看下结果:


在聊天界面,我们不仅看到了数据,而且还以图表的方式展现了出来;更绝的是,这些数据原本只是数据库里面的记录,完全无需的原始记录,在 dify+database+echarts 的合力下,变成了看得见,摸不着的画面了;

怎么实现的?

第一步:源码安装dify,我之前文章有详细介绍,可以参考下;

第二步:在插件里面找 database插件


找到后,点击安装;插件就出现在我的插件列表里了; 现在我们对他授权数据库访问:


点授权,输入授权格式,对于mysql数据库,用下面的方式:

mysql+pymysql://用户名:密码@地址:端口/数据库#注意,由于是容器内运行的插件,地址必须是容器可访问的地址,比如写 127.0.0.1 的话,就连不上了

这里有四项功能,不一一解释了,有用的我觉得就 Text to Sql 和 Sql Execute了

第三步,按中同样的方式,安装 echarts,也是搜索、安装即可;echarts不需要授权;

第四步,咱们来创建工作流了;


搞个简单的对话流程,这里面区分下,是要报表的,还是要结果数据的;不多讲,我们看看怎么把数据库数据弄出来的;

a. 先text2sql 一把,将用户对话变成sql:


b、再sql execute 一把,把sql 代码通过查库变成数据:


这一步的输入是 a里面的产生的sql,输出我们用markdown格式即可

c、对于只要数据的,我们输出即可,对于报表的,我们做点特殊处理:


先把markdown格式,变成 标题、x轴、y轴的样子,就是加个参数提取器而已;

d、把数据通过echarts 转成报表,非常简单:


默认支持 柱状图、饼图、折线图;更复杂的图也能实现,把数据结构定义好即可;不过这几个图大部分场景也足够了;

好了,以上逻辑就是dify中实现 text2sql 和 报表展示 功能,本来很早就想实现的,一直不敢进阶,这两天一下就搞明白了,看来技术不是太复杂;复杂的是人心。


声明:本站所有内容均为自动采集而来,如有侵权,请联系删除
标签: 图表

相关文章

Redis连环五十二问!看谁顶得住?

Redis连环五十二问!看谁顶得住?

基本 1.说说什么是Redis? Redis是一种基于键...

用 PHP 处理 10 亿行数据!

用 PHP 处理 10 亿行数据!

今天,我将带大家一起走进“挑衅十亿行“数据的世界。当然,这个事情是依据GitHub上的一个“十亿行挑衅”(1brc)运动而来,现在正在进行,如果你没有听说过,可查看Gunnar Morlings 的 1brc 存储库。https://github.com/gunnarmorling/1brc我之所以...

2024 年的最佳 PHP 框架

2024 年的最佳 PHP 框架

在本文中,我们将预测在 2024 年持续风行的最佳 PHP 框架。我们首先将看看PHP框架是什么,什么时候该斟酌应用PHP框架,以及应用PHP框架的重要长处都是什么。我还会介绍最合适初学者的 PHP 框架以及用于 Web 开发的最佳框架。什么是PHP框架?     &...

一文读懂多家厂商的大模型训练、推理、部署策略

一文读懂多家厂商的大模型训练、推理、部署策略

4 月 20 日,第 102 期源创会在武汉胜利举行。本期邀请来自武汉人工智能研讨院、华为、MindSpore、京东云、Gitee AI 的人工智能专家,环绕【大模型竞技与性能优化】主题发表演讲。接下来就一起看看本期运动的出色瞬间吧!大合影 get ✅披萨和礼物不能少!接下来进入主题演讲回想环节。可...

请立刻停止编写 Dockerfiles 并使用 docker init

请立刻停止编写 Dockerfiles 并使用 docker init

您是那种认为编写 Dockerfile 和 docker-compose.yml 文件很苦楚的人之一吗?我承认,我就是其中之一。我总是想知道我是否遵守了 Dockerfile、 docker-compose 文件的最佳编写实践,我畏惧在不知不觉中引入了安全破绽。但是现在,我不必再担忧这个问题了,感激...

MySQL千万级数据从190秒优化到1秒全过程

MySQL千万级数据从190秒优化到1秒全过程

题图来自APOD首先要声明的就是,千万级数据对于MySQL来说就是不太合理的一个存在。优化MySQL千万级数据策略还是比较多的。分表分库创建中间表,汇总表修改为多个子查询这里讨论的情况是在MySQL一张表的数据达到千万级别。表设计很烂,业务统计规则又不允许把sql拆成多个子查询。在这样的情况下,开发...