目前小弟被安排要做一个 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 1 天前 via iPhone
AI 现在根本就不支持高准确性,让你老板死心或者雇一个专门做 BI 的。
|
![]() |
2
dssxzuxc 23 小时 46 分钟前
这里最难的是要保证用户输入质量,如果用户能理性、有逻辑、精确地提问,那工作流就会同样理性、有逻辑地安排计划任务,返回正确结果。
|
3
kestrelBright 12 小时 16 分钟前 via iPhone
老板说 xxx 花费太多 看从哪边能减下来
|
4
yangjaydev 8 小时 26 分钟前
数据量不大的话,也可以将全量数据结果作为上下文进行提问,不一定要走 sql
|
5
red13 6 小时 21 分钟前
text2sql 的 sql 本身就是问题,sql 只能描述关系数据库结构,无法描述业务模型
|
![]() |
6
irockytan 2 小时 49 分钟前
有两个思路可以试试:
一、RAG 思路 把表和字段描述、DDL 、相似问题到 SQL 的映射分别组装成向量库 当提问时,从 SQL 映射、DDL 、表描述三个向量库中分别检索,最终组成一个大的 Prompt 让大模型生成 SQL 并调用数据库工具查询数据。这个方案的优点在于如果你的历史问题到 SQL 的映射足够多,理论上准确度还可以;换个说法,如果你能相对穷举你老板可能会问什么,都写到问题与 SQL 的映射中,你就赢了。 二、通过 DSL 中转 大概思路是基于宽表建立一个表、维度、维度关系的知识库,同时把用户问题通过大模型转换成标准格式的 DSL ,包含表、维度、指标等关系和描述,通过编程的方式把 DSL 转换成 SQL 查询。这个方案的优点在于大模型不需要去生成最终的 SQL ,而是根据 NLP 理解把问题解析成 DSL ,而 DSL 可以有业务语义。 |