目前小弟被安排要做一个 AI + BI 结合,先主要面向老板使用的数据问答平台,数据来源先是固定的几张数据比较全的资产表。主要功能是老板可以针对这些表进行数据提问,然后把数据展示给老板,同时老板也可以基于这些数据继续提问。
各位大佬在可以评论区讨论讨论,给小弟一些指点,恳请大佬们不吝赐教
目前面临的主要困境是: 1 、数据准确性问题: 1 、选取的数据源表是否准确 2 、最终执行的 sql 是否满足老板的需要 3 、针对上一步数据问答的结果二次提问(可以被当成一条新的数据源)
目前这块对数据准确性要求很高,因此大概会两条腿走路,1)、基于一些开源的 text2sql 能力,验证在这些资产上的有效性; 2)、加强人工干预:预置一些查询模版,尽可能的将提问映射到具体的提问模版,实在不在再退化到 text2sql 场景 对问答结果的二次提问,小弟想的是否可以落库,然后使用 text2sql 的能力来进行分析,或者通过 LLM 生成 python 代码来进行分析. 有想过增加确认交互,让使用者对中间数据和查询产物进行确认,不过考虑到老板大概不太懂底层数据,这块可能不会起到什么效果。
2 、意图识别: 具体就是 i 识别出来老板的具体意图,是一个单纯的数据查询任务,还是一些复杂任务(是否还要数据分析、结果整理等) 这里的想法是参考现在 Agent 中的那些规划能力,交给 LLM 来决定具体执行策略与步骤,对任务进行拆解,然后交给对应的执行 Agent 来完成
3 、数据分析问题: 目前也是想基于一些固定的分析模版,然后让 LLM 在上面进行适配或者微调,要不然 LLM 生成的分析 python 代码可能并不能稳定的执行,同时这种通过 python 等方式生成一些分析结果图片等产物,可能一定避免 LLM 在汇总结果时造成的一些幻觉问题。
总结下来其实就要两点要求: 1 、数据准确性,要求极高 2 、系统的整体稳定
![]() |
1
levelworm 2 天前 via iPhone
AI 现在根本就不支持高准确性,让你老板死心或者雇一个专门做 BI 的。
|
![]() |
2
dssxzuxc 2 天前
这里最难的是要保证用户输入质量,如果用户能理性、有逻辑、精确地提问,那工作流就会同样理性、有逻辑地安排计划任务,返回正确结果。
|
3
kestrelBright 1 天前 via iPhone
老板说 xxx 花费太多 看从哪边能减下来
|
4
yangjaydev 1 天前
数据量不大的话,也可以将全量数据结果作为上下文进行提问,不一定要走 sql
|
5
red13 1 天前
text2sql 的 sql 本身就是问题,sql 只能描述关系数据库结构,无法描述业务模型
|
![]() |
6
irockytan 1 天前 ![]() 有两个思路可以试试:
一、RAG 思路 把表和字段描述、DDL 、相似问题到 SQL 的映射分别组装成向量库 当提问时,从 SQL 映射、DDL 、表描述三个向量库中分别检索,最终组成一个大的 Prompt 让大模型生成 SQL 并调用数据库工具查询数据。这个方案的优点在于如果你的历史问题到 SQL 的映射足够多,理论上准确度还可以;换个说法,如果你能相对穷举你老板可能会问什么,都写到问题与 SQL 的映射中,你就赢了。 二、通过 DSL 中转 大概思路是基于宽表建立一个表、维度、维度关系的知识库,同时把用户问题通过大模型转换成标准格式的 DSL ,包含表、维度、指标等关系和描述,通过编程的方式把 DSL 转换成 SQL 查询。这个方案的优点在于大模型不需要去生成最终的 SQL ,而是根据 NLP 理解把问题解析成 DSL ,而 DSL 可以有业务语义。 |
![]() |
7
BingoW 16 小时 35 分钟前
AI 最大问题是不确定性,同样的问题问两次会有不一样的答案。老板想要的是定制化多样性,而不是随机性。你给他一个可以选择参数、查询范围的应用即可。BI 只是辅助项,可以根据查询结果进行几项 AI 探索。你可以看一下帆软 BI 最新的版本,结合 AI 。但是只是说 AI 替代了人做图表的过程,而不是天马行空随机生成图表。
|
8
ningxing 15 小时 8 分钟前
老板或者你自己发送的关键词里,拼接强制性要求,如果不满足你的强制性的某个要求,则返回失败信息。
|
![]() |
9
goodryb 14 小时 11 分钟前
BI 主要是查询吧,一般需求可以考虑使用 MCP 写一些固定的查询逻辑,比如,查询昨天的营业额、8 月份的营业总额这种,都可以抽象出来,让大模型通过 mcp tool 来调用,准确度还是非常高的
如果是一些复杂的,就要用 6 楼提到的 rag 增强,把库表信息传递给大模型,然后优化下 NL2SQL ,看看效果 大模型这东西只能说尽量优化,完全代替 BI 报表,没人敢打包票数据不会出问题 |
10
pppwww OP @irockytan 首先感谢大佬的恢复,第一条路目前在研究这个,通过比较详细的 table schema 信息+相似问题的输出 sql 来一起给到 LLM 。第二条之前确实没有怎么考虑,这个我研究研究
|
![]() |
14
INTOX8O 9 小时 31 分钟前
在公司临危受命做过一个 demo 级别的 BI ,RAG 准确性很重要一直提升不上去,并且数据库涉及到 ck 、mongo 、mysql 怎么整合和权限也是一大问题。
|