原创|查询大数据级数据表的AI实现思路(Excel2SQL,Text2SQL)
背景
遇到一个用户需求:
查询大数据级数据表(如产品表),将查询结果返回,想通过LLM进行精准输出。
一般软件做法为找数据工程师做提数SQL,或通过前台页面筛选条件+查询表单实现相对灵活的查询。
这个需求他们通过截图表格+输入问题的形式问Deepseek等LLM,发现准确度和稳定性都不行,
- 其一产品ABC命名有相似且产品行数多,噪音大,导致稳定性不足;
- 其次有一些统计问题回答不对,比如开发售卖的产品有几只,了解LLM原理的也知道数学题超过LLM能力边界。
Boss问我想法时,对于噪音和数学题,我明确知道要借助Workflow可能有解决方案,加上之前接触过Text2SQL,
我的第一反应是以SQL作为对其模态,
- 输入方向(广义的知识构建阶段),将EXCEL输出SQL数据表和数据,并生成足够的释义作为回答的背景;
- 输出方向(广义的知识检索阶段),初始节点为用户问题Text2SQL,然后执行SQL节点,将问题,SQL和SQL查询结果给到二次LLM节点,输出最终回答。
通过Dify和FastGPT都可以实现两段式输入到输出
结果
是验证了50条excel含5个字段的产品表,问了30个问题,迭代3版Prompt达到28/30的惊人的95%的正确率。
输入Excel:
用户问题:
实操过程
-
基本思路的流程图,关键是目标如何达成,串联起来闭环。
-
上手开撸
AI workfow其实没什么难度,就是3个节点,LLM或MCP/Faction call进行数据库处理;
主要还是Prompt,此处分享粗调最后一版prompt。