在MaxKB中实现准确的Chat TO SQL(BI)

主要面向考试成绩管理系统(目前支持旭日图、仪表盘柱状图、桑基图、漏斗图、河流图、数据聚合图、散点图、南丁格尔玫瑰图、饼状图、环形图、堆叠柱状图、堆叠折线图、堆叠面积图、面积图、折线图)

主要思路:

第一步实现chat to sql,利用用户问题,生成准确的sql

第二步利用第一步sql查询到的数据,配合MaxKB内置的 <echarts_rander></echarts_rander> 标签实现图表的生成

第一部分:Chat To SQL

方案一:适合表不多的情况,比如5张表左右的级联查询

此方案的重点就是在提示词中加入DSL和DML的描述,如下:

此方案缺点也很明显:适合数据表量小的情况,还有利用大模型只生成了一次SQL,准确率不会太高。

方案二:适合多表的情况,将DSL和DML采用知识库进行存储

为了满足大量表的查询,提前准备DSL和DML的描述,并按照合理分段存入知识库中:

同时,提前准备100个(具体可按照项目实际情况准备个数)用户经常使用的准确SQL,采用QA对方式存入知识库中:

在编排中,先利用问题相似度检索用户问题涉及到的表DSL和DML,并作为提示词给大模型

方案三:最终方案,在前两个方案的基础上,引入SQL专家裁判机制,提高SQL准确率

方案3.1 SQL裁判方案

方案3.1主要先利用三个大模型生成三个SQL,然后在让第四个大模型充当裁判,选出最准确的SQL进行查询

查询效果:

方案3.2 MCP SQL 方案

MCP SQL方案相对要简单些,主要在AI会话节点接入DB MCP,然后利用提示词控制模型进行多次查询校验。

查询效果:

第二部分:SQL TO BI

第二部分的图表展示,主要利用第一步已经生成的SQL查询到数据,采用图表进行展示。核心的思路为:

1.创建图表库,包含常用的echart图表,图表内容为echart官方网站的option,并创建问题关联:

2.在编排中,基于用户的问题判断是否有图表支持,并输出图表名称

3.通过大模型输出的图表名称去知识库查询图表的option,并作为提示词给大模型

整体编排如下:

查询效果:

相关推荐
王中阳Go13 小时前
5.27 分钟干完后端和全部测试:一场三小时笔试的五个失分点,四个不在代码上
大数据·数据库·人工智能·后端·大语言模型
杭州华望MBSE2 天前
AI将载着MBSE驶向哪里?从前台工具转向工程语义与验证层
人工智能·大语言模型·mbse·sysml·国产工业软件
AI人工智能+5 天前
智能文档抽取系统通过“OCR+大模型”双引擎,实现从图像到结构化数据的精准转化,突破传统OCR仅识别文字的局限
自然语言处理·ocr·大语言模型·文档抽取
Rocky Ding*5 天前
一文读懂Kimi K3.1 Pro核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·大语言模型·ai-native
艺杯羹5 天前
Android无障碍自动化死循环全解:从动态角标伪匹配到单向状态机防御实战
人工智能·自动化·大语言模型
孙琦Ray6 天前
比特币 Core 取消 AI 易发现漏洞的保密期
大语言模型·开源安全·比特币·漏洞披露·bitcoin core
王中阳Go6 天前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
爱听歌的周童鞋8 天前
MIT 6.5940 | TinyML 与高效 AI 计算 | Fall 2026 | 笔记 | Lecture 12:Transformer and LLM
transformer·大语言模型·tinyml·mit 6.5940·高效 ai 计算
EDPJ11 天前
MoE 与推测解码(Speculative Decoding)加速:为什么慢、什么时候慢、怎么让它不慢?
llm·负载均衡·大语言模型·moe·推测解码(sd)
孙琦Ray12 天前
西班牙团队开源 AI 评分平台 EvaluAI:加评分标准反而更不准,但更稳定
大语言模型·开源项目·gemini·教育科技·ai 评分·evaluai·apache-2.0