Supersonic 新一代AI数据分析平台

介绍

Supersonic是腾讯音乐开源的融合了Chat BI和Headless BI的新一代数据分析平台,可以通过自然语言来分析数据。(项目地址在文章末尾)

Headless BI

在传统的BI系统中,数据处理、分析逻辑和用户界面 是紧密耦合在一起的。而Headless BI则采用了"无头"的设计理念,只提供数据处理和分析的核心功能,通过API接口对外提供服务,不包含预定义的用户界面。

Chat BI

在大模型时代,Chat BI的核心主要是通过大模型将自然语言转化为SQL(Text2SQL),以此降低数据分析门槛。

优点

Supersonic使用Headeless BI构建数据模型,更加便于大模型理解我们的数据集,提高了Text2SQL的准确度。

使用效果

Docker部署

下载docker-compose.yml

shell 复制代码
wget https://raw.githubusercontent.com/tencentmusic/supersonic/master/docker/docker-compose.yml

启动

shell 复制代码
docker-compose up -d

访问:http://localhost:9080

使用

在开始使用前我们需要先了解几个核心的概念

概念

主题域

主题域可以理解为一个分类的概念,用户可以根据自己的业务场景来划分主题域。SuperSonic中的数据模型,数据集,术语等概念都归属于一个主题域。

数据模型

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

后边在使用时需要先创建我们的数据模型。

主键

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

维度

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

度量

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

指标

指标是相对度量更具具体和实例化的概念,用户可以基于度量,字段或者已有指标来创建指标并对它进行管理。同时,创建出来的指标也可以被问答这样的上层BI产品进行消费。

数据集

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

术语

企业内部通常有自己的私域知识,是否能把私域知识教给大模型对结果准确性有较大的影响。因此,SuperSonic引入了术语的概念,通过配置术语及其描述,就可以把私域知识 传授给大模型。比如SuperSonic给的样例术语:[近期]指代近10天;[核心用户]指Tom和Lucy,就能很容易让大模型学习到这个知识。

配置大模型

目前Supersonic支持的大模型有Openai、微软、百炼等。可以在大模型管理中进行配置。

连接数据库

目前支持的数据库有H2、CK、MySQL、PG、 HANADB、STARROCKS、KYUUBI、PRESTO、TRINO

语义建模

创建主题域

比如我这里建立的AI Agent主题域

创建模型

创建模型可以通过SQL创建和快速创建,这里我们使用SQL创建:

可以自定义这个模型需要的字段

选择模型字段的各个语义

保存之后Supersonic会自动创建指标和维度:

创建数据集

将刚刚创建的模型与数据集进行关联

创建AI助理

助理的配置主要分为四个部分

基本信息配置

大模型应用配置

这里根据自己的实际需求去配置就可以

工具配置

需要选择Text2SQL工具,并选择可以使用的的数据集

记忆管理

当开启大模型的"记忆启用评估"后会自动开启记忆

问答对话

以上配置完毕后就可以在问答对话中和小助理对话了,SuperSonic会自动识别我们的意图,转换为SQL,将数据以可视化的方式呈现出来。

现有问题

  • 目前查询的准确性受限于语义模型中的字段定义
  • 需要查询描述语义模型的字段定义需要相似则准确度比较高,否则效果比较差
  • 对于使用人员和建模人员来说会有一定的要求,需要统一话术

相关链接

相关推荐
J_Xiong011715 分钟前
【LLMs篇】14:扩散语言模型的理论优势与局限性
人工智能·语言模型·自然语言处理
红衣小蛇妖1 小时前
神经网络-Day44
人工智能·深度学习·神经网络
忠于明白1 小时前
Spring AI 核心工作流
人工智能·spring·大模型应用开发·spring ai·ai 应用商业化
大写-凌祁2 小时前
论文阅读:HySCDG生成式数据处理流程
论文阅读·人工智能·笔记·python·机器学习
柯南二号2 小时前
深入理解 Agent 与 LLM 的区别:从智能体到语言模型
人工智能·机器学习·llm·agent
珂朵莉MM2 小时前
2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·职场和发展·机器人
IT_陈寒2 小时前
Element Plus 2.10.0 重磅发布!新增Splitter组件
前端·人工智能·后端
jndingxin2 小时前
OpenCV CUDA模块图像处理------创建一个模板匹配(Template Matching)对象函数createTemplateMatching()
图像处理·人工智能·opencv
Theodore_10223 小时前
大数据(1) 大数据概述
大数据·hadoop·数据分析·spark·hbase