SuperSonic 融合AI与BI的新一代数据分析拆解

shmaur
2025-05-15
-
-

笔记很长,图片比较多,想看总结的可以直接滑动到最后。

一、什么是SuperSonic

SuperSonic,由腾讯音乐开源,定位下一代AI+BI平台,在v0.9.10版本中进一步演进,核心在于融合了Chat BI(由大型语言模型驱动)与Headless BI(基于语义层构建)两大范式,旨在通过自然语言交互极大地降低数据分析门槛,并结合传统BI的严谨性,推动数据的广泛应用和民主化。
 

二、核心产品特性与价值主张

  1. Chat BI与Headless BI的深度融合:
    • Chat BI (对话式分析): 利用LLM的强大能力,允许业务用户使用自然语言提问,SuperSonic将其转化为可执行的数据查询,并以可视化的图表形式展现结果。这极大地降低了数据分析的门槛,使得不具备专业SQL技能的用户也能轻松获取数据洞察。
    • Headless BI (无头BI): 构建统一的语义数据模型是Headless BI的核心。SuperSonic通过其Headless BI界面,让分析工程师可以定义指标、维度、标签及其之间的关系。这个语义层屏蔽了底层数据存储的复杂性,确保了数据口径的一致性。
    • 融合的价值: SuperSonic的独特之处在于将二者深度整合。Chat BI的自然语言理解能力通过语义模型得到了增强(RAG - Retrieval Augmented Generation),提高了Text-to-SQL的准确性和可靠性;同时,Headless BI的查询能力也通过自然语言API获得了智能拓展,提供了更灵活的数据访问方式。这种融合解决了传统Chat BI在理解复杂业务语义和保证数据准确性方面的痛点,也让Headless BI不再局限于传统的看板和报表,拥有了更自然的交互方式。
  2. 降低数据分析门槛,实现数据民主化:
    • 通过Chat BI界面,业务人员可以直接“对话”数据,无需学习复杂的查询语言,极大地提高了数据获取效率和自主性。
    • 这有助于打破数据分析的“壁垒”,让更多人能够利用数据辅助决策,真正推动数据在企业内部的普及和应用。
  3. 统一的数据口径和治理:
    • Headless BI层提供的语义建模能力,使得企业可以将核心指标和维度进行统一的定义和管理。
    • 这解决了不同部门或个人在进行数据分析时可能出现的口径不一致问题,确保了数据分析结果的准确性和可信度。
  4. 开箱即用的产品界面:
    • SuperSonic提供了Headless BI和Chat BI两套用户界面,降低了用户的上手难度。用户可以直接通过界面进行语义模型的构建和自然语言的数据查询。
  5. 面向开发者和社区的友好性:
    • 项目开源(基于MIT License,0.9.6版本后对商业化场景有额外条款),提供了扩展和定制的可能性。
    • 其基于Java SPI的扩展机制,允许开发者根据自身需求添加自定义实现。
    • 持续的版本迭代(如v0.9.4和v0.9.2版本在易用性和可靠性方面的改进)表明了社区的活跃和项目的持续发展。

三、目标用户群体

  • 业务分析师/数据需求方: 希望通过自然语言快速获取数据洞察,减少对数据团队的依赖。
  • 数据分析工程师/数据建模人员: 负责构建和管理企业级语义层,确保数据口径一致性和数据资产的可复用性。
  • 开发者: 希望基于SuperSonic进行二次开发,构建定制化的数据分析应用或集成到现有系统中。

四、潜在应用场景

  • 企业内部的数据自助分析平台。
  • 集成到业务系统中,为业务人员提供嵌入式的数据问答能力。
  • 构建行业特定的数据分析应用。

五、易用程度

  • 配置链路比较长
  • 有些不能很容易理解,要完全跑通,都会卡在配置环节中
  • 需要有非常专业的能力才能上手平台

 

六、功能拆解

图片来自作者  SurperSonic 功能框架

 

核心的几个点:

1、向量模型、嵌入模型:语义的解析和精准度取决于这两个;

2、维护成本很大,大部分还是取决于提前配置。

基础配置就不详细说,因为这里取决于第三方的模型。

6.1 Chart BI

6.1.1 模型管理

可以管理第三方的模型,可以接入很多种方式。但是从交互上来说,目前的管理方式还是需要提升。不过支持对接协议OPEN_AI和OLLAMA,基本上市面上的大模型都能支持。

6.1.2 助理管理

理解为角色,不同角色管理不同的内容。在这里也包含核心的记忆管理

6.1.2.1 基本信息

选项还是很多,这里也可以手动配置示例问题,调试信息可以将每个步骤全部都展示出来;

6.1.2.2 大模型配置

这里配置第三方的模型,不过建议使用官方的,因为推荐的都是做了适配,不同模型干不同的事情,如果新的还需要进行调试适配。

这里的几个能力:

语义解析:通过大模型解析语义生成S2SQL

异常提示改写:将程序返回的错误通过大模型进行修正,让用户看得懂一些是什么,友好的提示性语

结果数据解读:这个很关键,通过大模型对结果数据做提炼总结,这里的能力待评估,如果是垂直模型可能会更加精确。

语义SQL 修正:通过大模型对解析S2SQL做二次修正。

提示词模板:提供了基础的提示词,如果是新的项目,则需要考虑怎么写好提示词,并且进行微调,这里又是不小的工作量

其他的就是根据历史对话来改写本轮对话或者直接将原始输入透传大模型直接聊天。

6.1.2.3 工具配置

这个是大模型要查询的数据集,这里可以自己定义,但是必不可少。除非不需要做分析。

6.1.2.4 记忆管理
图片
官方的记忆管理框架图

具体可以查看一下官方的这篇文章:

5分钟了解SuperSonic记忆机制

主要是将对话存起来,然后可以通过系统或者人工做数据标记,这里也需要维护,维护记忆数据质量,目前交互上还是需要提升。

6.1.3 问答对话

从分析角度来说,目前这个交互是一个很好的参考,但是如果开启了精简模式,图表竟然也不生成了。

比较很好的几个点:

1、意图解析,在意图解析这块,可以选择多个解析方式,可以看到对应的数据集以及指标等等,可以重新查询,还可以选择数据时间。

2、SQL 生成,这里将sql的解析过程全部显示,可以评估流程的是否正确。也可以导出日志。

3、数据查询:生成对应的图表、表格,还可以快捷选择时间,如果数据集中配置了下钻,那么这里就可以查看下钻的数据统计。

其他就是常规的AI对话内容了

这里是默认显示的
可以查看图表或者是切换成柱状图
这里复制了上面的问题,并且将总结打开了,结果就查询失败,不知道为什么
在复制一个时间比较短的,发现就没有图表了,不知道为什么
柱状图显示

6.2 Headless BI

数据源管理,目前支持mysql的协议,不支持API的接口进行数据统计

图片来自官方文档

这个模型设计思路还可以,核心在于Column处增加了维度、标签、指标概念,在上层BI时可以快速做不同得数据统计。

这是数据治理中企业模型,有着相似之处

第一步先建立主题域,也可以理解为一个数据库;官方解释:主题域可以理解为一个分类的概念,用户可以根据自己的业务场景来划分主题域。SuperSonic中的数据模型,数据集,术语等概念都归属于一个主题域。

第二步建立模型,其次建立指标,以下是数据模型;

数据集是SuperSonic用来对接问答和其它上层BI应用的一个数据结构,在数据集中,可包含来自多个模型的维度指标。 对上层应用来说,底层建模细节是隐藏的,它只需要关注数据集中暴露出来的维度指标即可,也就是说,上层应用可以把一个数据集当作是一个大宽表,可以直接进行指标维度的分析查询。

在SuperSonic中, 数据模型是对数据库中数据的一种逻辑层面上的抽象, 它既可以直接指代一张物理表, 也可以由一段SQL逻辑创建而成。 当我们得到一张表物理表或者一段逻辑SQL后,可以将表头字段指定为主键、维度、度量、时间日期或者是普通字段, 当表头字段都被赋予这些特定的语义后, 即形成了一个数据模型。

字段字段类型(表/SQL表头)语义类型(模型)
imp_dateDate日期
user_nameString主键
departmentString维度
pvBigint度量
uvBigint度量

主键 :SuperSonic中的主键概念不完全等同于数据库中的主键。当我们创建多个模型之后,如果需要指定模型间的关联关系,通俗来讲就是Join的方式, 就可以通过指定主键来进行关联。

维度 :维度指代那些表格中通常被用来进行分组和过滤的字段。

度量 :度量的概念则恰好和维度相反,通常是一些数值型的字段,用来表达客观现象的程度。在SuperSonic中,度量主要用来创建一个具体的指标,没有其它实质性的作用。

时间日期 :时间日期字段在SuperSonic中有比较重要的作用,比如一个典型的场景,当我们在问答中询问"超音数近10天访问次数"时,需要得到具体的 时间字段来进行时间范围的过滤。因此,提前在建模时把时间字段及其格式显示指定好,能起到很大的作用。并且,目前当模型中包含有度量时, 就必须指定时间日期字段。

 

6.2.1 语义建模

这里的数据集在第一位,但是必须得先配置主题域、模型后才能配置这个数据集,不应该直接配置主题域,最后才是数据集

数据集从配置交互逻辑来说这个应该在最后,但是从模型角度来说时第一位。

6.2.1.1 模型管理
创建数据模型
画布是一个处理指标、维度关系逻辑很好的交互方式。

在创建数据模型的时候,新增了语义类型以及扩展配置,方便在建立上层指标以及不同维度数据查询作为基础,以及让模型更加容易理解与关联。

6.2.1.2 创建指标
指标的配置
在配置度量指标的时候,可以基于聚合函数后再做数学运算,这个我之前设计思路,但是开发技术上难度很大,但是放在现在不一定是有很大得技术难度。

在指标的配置中,使用人员除了需要掌握专业技术以外还需要非常懂业务才能够配置这个指标的逻辑;这里难度很大,面对普通的用户来说苦难很大;不过使用这个大部分都会具备数据治理能力以及一定专业技术上的能力。对于数据治理以及数据分析的用户来说,这个是个不错的工具。

下面两个是关于指标建立的笔记

指标体系设计

怎么建立指标体系

6.2.1.3 维度配置

维度在大型的业务平台中,一个模型中会存在很多个维度,还是很大的工作量,堆时间就ok

 

标签对象管理

标签

给数据打标签,这个事情必须得数据分析与数据治理+业务专家来管理,不然最后就会变成一堆难以管理得数据。

术语管理

术语是否有必要,准确来说是非常得行业术语,但是目前对于大模型来说,即使是行业数据,目前大模型能力来说已经具备识别百分之七八十得数据了。

知识库
知识库

七、总结

从用户数到数据返回的流程大概就是这样。

图片来自作者

对标用户来说:纯技术人员用不起来,对于数据治理数据分析的用户来说是一个好的工具,但是有一定的学习成本,没有培训的话很难用下去。

网上评价:后端逻辑复杂,易用性上来说比较困难

易用性:上手比较困难,推广和落地困难。

但是对于大型企业应该是欧克的。

个人觉得,在配置指标的时候,最好是有AI辅助,这样会更加效率,告诉AI,我需要一个什么样子的指标,然后生成参考,这样效率会提升很多。或者在已有的规则上,让AI跟根据模型自动生成对应的语义,然后人工核对就可以了,这样就会更快。

在这个里面前期配置非常的多,而且技术上、业务要求上都非常的高,最后才能得到对话框的效果,前期成本还是特别高,我也一直在思考怎么设计一款工业chart BI产品,这个能达到一半的效果吧,要是能够在便利上在优化一大半就更好了;

他们也有企业版,不过目前处于1.0阶段,官方介绍更易用、更智能、更可控;但是从开源的设计逻辑框架来说,从经验上来说不一定更易用,因为整体产品设计逻辑框架已经定了,除非企业版更换了设计框架逻辑。

目前刚开源出来,问题会比较多,期待后面的升级。

官方文档:FAQ | SuperSonic(v0.9.10)

官方体验地址:问答对话

官方开源github:tencentmusic/supersonic: SuperSonic is the next-generation AI+BI platform that unifies Chat BI (powered by LLM) and Headless BI (powered by semantic layer) paradigms.

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录关闭