腾讯音乐开源的 Chat BI 平台


渊源

得知 SuperSonic 这款软件是我一个读者给我推荐的。他当时说「不如一起研究 SuperSonic」,直到我下载、运行、调试之后,似乎明白了研究二字的含义。

我月余前,下载源码运行了一下,不做在对我自己的数据库做分析时,经过一番折腾,最终铩羽而归。今天看到项目还一直在维护更新,又下载源码跑了一次。

项目介绍

项目托管在了 Github 上,Github 仓库[1] 大家认准是在 腾讯音乐 这个组织下面的, 如果你直接网上搜索,可能搜到另一个同名的项目。

这个项目的特点应该就是把 ChatBI 和 Headless BI 结合起来的,如官网所示。

腾讯音乐开源的 Chat BI 平台

ChatBI 和 Headless BI

ChatBI 就是通过自然语言聊天的方式来可视化你的数据。

Headless BI[2] 和很多 Headless XXX 的架构一样,不负责 UI 展现层,只有后端 BI 的抽象。它在数据仓库或数据库上面引入了一个新的层,来充当解释数据的唯一来源,提供给数据使用方法(比如 BI 界面)。

再通俗点儿说,就是忽略数据的实际结构,对数据重新进行建模,提供给信息使用方。

遮掩的好处是系统对重新建模的数据(比如某个指标)有唯一的解释权,而且屏蔽了底层的复杂性和差异性。不好的地方当然是,你要重新建模,并且你建的模型并不一定够用和好用,可能会把已经简单的事儿变得复杂。

而 SuperSonic 里面的无头建模就很丰富(当然概念上来说也复杂)。

腾讯音乐开源的 Chat BI 平台
  • • 主题域相当于一个最外层的分组,类似一个数据库

  • • 数据模型是一个数据表或者一个查询SQL,属于一个主题域

    • • 数据模型的具体字段可以设置成维度、度量(指标)

  • • 数据集是指标和维度的集合,也属于一个主题域

项目结构

项目前端是 React,后端是 Java。给人的感觉就是一个很传统的后端项目,我 14 年做一个圈新平台的时候,为了简单起见, 给项目和产品的结构就是把前后端正在一个项目,可以前后端分离,也方便前端直接丢在后端里面运行(我当时也是用了一个 webapp/web)的子项目, 这样省去了配置 Nginx 或者前端的 Dev Server 的事情(核心是公司有些人不会用,或者是觉得麻烦)。

运行项目

如果项目看起来不是巨无霸,我一般都使用源码运行。下载源码:

git clone https://github.com/tencentmusic/supersonic.git

前端打包,这里作者写了个 Shell 脚本,

cd supersonic
sh assembly/bin/supersonic-build.sh webapp

然后在 Ide 里面运行 Java 启动类 com.tencent.supersonic.StandaloneLauncher 即可。

过一会就可以在浏览器里面访问

http://localhost:9080/

看到登录界面了,默认的账户是 admin 123456

腾讯音乐开源的 Chat BI 平台

大模型配置

SuperSonic 支持 OpenAI 和 Ollama,一个用于线上一个用于本地开发。

我前几个月第一次用的时候还专门改代码适配了 ZhipuAI,代码一步步调试的时候,我的感觉就是:作者咋写了这么多代码 ~

之前是可以在 application.yaml 里面配置的,新版本文档说可以新增 langchain4j.yaml 进行配置。源码中没有这个文件,不过貌似不配置也行,我配置完之后启动程序发现也没啥变化,而且可以等登录后在 UI 的设置里配置。

腾讯音乐开源的 Chat BI 平台

新建助理的时候也能为每个助理配置大模型,比如本地的 Ollama。

腾讯音乐开源的 Chat BI 平台

智能助理

登录之后,首页变成闲聊这个助理了(左侧几个助理都是启动时候SQL初始化进去的)。

腾讯音乐开源的 Chat BI 平台

查看一下「算指标」这个智能助理,里面也有一些初始化好的聊天历史数据,展示了当前的功能。

腾讯音乐开源的 Chat BI 平台

初始化样例数据这个功能对于开源软件(不只是开源软件)来说是一个很好的功能,能快速展示出 应用的优点,避免由于复杂而放弃。

关于我的使用

我大概介绍一下我认为使用过程吧,为什么说是我认为?因为几个月前我第一次运行,以及我刚刚有运行了一次最新版本, 都没得到恨到的结果(没成功的完成简单的数据分析),果然之前跟我留言的哥们说「研究SuperSonic」没有骗我。

上次我花的时间比较多,因为集成了线上的 Zhipu API,所以后端代码看和调试了不少, 不过忘记了是在哪步骤除了问题,没有给出我正确的结果了。

PS:我感觉项目应该没问题,只是门槛有点儿高,我没用对。

还有样例数据中心的都是基于规则引擎的 BI 问答,所以我也没有更多信息来获取 Chat BI 的一些内容。

腾讯音乐开源的 Chat BI 平台

使用

其实看了上面的架构,使用起来并不复杂,也基本上可以不看文档[4]来使用。

首先当然是新建数据库,我们连接本地的 Postgres 数据库,里面有一些我写的文章以及公众号发表的数据。

腾讯音乐开源的 Chat BI 平台

然后增加一个主题域:

腾讯音乐开源的 Chat BI 平台

主题域增加一个模型,这里使用「文章」表,选择一个标题字段和时间字段。

腾讯音乐开源的 Chat BI 平台

创建数据集,数据集这里支持指标模式和明细模式,想的也比较周到:

腾讯音乐开源的 Chat BI 平台

我们看到文档中对数据集的指标和维度有哪些要求,所以只拿一个日期做测试。

下面就可以创建助手了,同时设置你的大模型、以及工具。

腾讯音乐开源的 Chat BI 平台

工具必须要设置哦,可以选择规则、大模型和三方插件,可以添加多个工具。

腾讯音乐开源的 Chat BI 平台

然后我们就可以在「问答对话」里面看到刚刚新建的助手了。随便问个问题:

腾讯音乐开源的 Chat BI 平台

BUT,事与愿违,解析出错:

腾讯音乐开源的 Chat BI 平台

问个再简单点儿的,看起来 LLM 解析 SQL 的逻辑没错,不过为啥里面出现了数据集的名称。

腾讯音乐开源的 Chat BI 平台

控制台日志也是,算了,不 Debug 了。

腾讯音乐开源的 Chat BI 平台
腾讯音乐开源的 Chat BI 平台

我之前才猜是不是用了数据集的名字来当成 SQL 执行力,把数据集名称改成表名,没啥用。Debug 看了几下,中间过程SQL很复杂, 而且数据也都是奇奇怪怪的。

算了不猜了。

总结

SuperSonic 里面维度、标签、以及指标的 UI 等都是很不错的概念,但是后端逻辑太复杂,也不是一个偏向也 LLM 和 AI 的项目, 原厂的人可能用起来很棒,推广的话从易用性和设计上来说有点儿困难。

而且工具使用 Java 编写,可能是面向企业应用去的,不过对于当前 AI 和大模型的的生态来说,略显臃肿。


— END —

前沿技术新闻资讯模型微调

飞书多维表格+Deepseek王炸组合,最强AI agent工具

2026-4-18 21:20:56

Agent智能体Openclaw新闻资讯

OpenClaw 技术解析:Agent Skills 机制与应用

2026-4-18 21:37:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索