• Stars
    star
    1,556
  • Rank 29,812 (Top 0.6 %)
  • Language
    Java
  • License
    Other
  • Created about 1 year ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SuperSonic is the next-generation BI platform that integrates Chat BI (powered by LLM) and Headless BI (powered by semantic layer) paradigms.

中文介绍 | 文档中心

SuperSonic (超音数)

SuperSonic is an out-of-the-box yet highly extensible framework for building ChatBI. SuperSonic provides a chat interface that empowers users to query data using natural language and visualize the results with suitable charts. To enable such experience, the only thing necessary is to build logical semantic models (definition of metrics/dimensions/entities, along with their meaning, context and relationships) on top of physical data models, and no data modification or copying is required. Meanwhile, SuperSonic is designed to be pluggable, allowing new functionalities to be added through plugins and core components to be integrated with other systems.

Motivation

The emergence of Large Language Model (LLM) like ChatGPT is reshaping the way information is retrieved. In the field of data analytics, both academia and industry are primarily focused on leveraging LLM to convert natural language into SQL (so called text2sql or nl2sql). While some works exhibit promising results, their reliability is inadequate for real-world applications.

From our perspective, the key to filling the real-world gap lies in three aspects:

  1. Introduce a semantic layer encapsulating underlying data context(joins, formulas, etc) to reduce complexity.
  2. Augment the LLM with schema mappers(as a kind of preprocessor) and semantic correctors(as a kind of postprocessor) to mitigate hallucination.
  3. Utilize heuristic rules when necessary to improve efficiency(in terms of latency and cost).

With these ideas in mind, we develop SuperSonic as a practical reference implementation and use it to power our real-world products. Additionally, to facilitate further development of ChatBI, we decide to open source SuperSonic as an extensible framework.

Out-of-the-box Features

  • Built-in CUI(Chat User Interface) for business users to enter data queries
  • Built-in GUI(Graphical User Interface) for analytics engineers to build semantic models
  • Built-in GUI for system administrators to manage chat agents and third-party plugins
  • Support input auto-completion as well as query recommendation
  • Support multi-turn conversation and history context management
  • Support four-level permission control: domain-level, model-level, column-level and row-level

Extensible Components

The high-level architecture and main process flow is as follows:

  • Knowledge Base: extracts schema information periodically from the semantic models and build dictionary and index to facilitate schema mapping.

  • Schema Mapper: identifies references to schema elements(metrics/dimensions/entities/values) in user queries. It matches the query text against the knowledge base.

  • Semantic Parser: understands user queries and extracts semantic information. It consists of a combination of rule-based and model-based parsers, each of which deals with specific scenarios.

  • Semantic Corrector: checks validity of extracted semantic information and performs correction and optimization if needed.

  • Semantic Interpreter: performs execution according to extracted semantic information. It generates SQL statements and executes them against physical data models.

  • Chat Plugin: extends functionality with third-party tools. The LLM is going to select the most suitable one, given all configured plugins with function description and sample questions.

Quick Demo

SuperSonic comes with sample semantic models as well as chat conversations that can be used as a starting point. Please follow the steps:

  • Download the latest prebuilt binary from the release page
  • Run script "bin/supersonic-daemon.sh" to start services (one java process and one python process)
  • Visit http://localhost:9080 in the browser to start exploration

Build and Development

Please refer to project wiki.

WeChat Contact

Please follow SuperSonic wechat official account:

More Repositories

1

cube-studio

cube studio开源云原生一站式机器学习/深度学习/大模型AI平台,支持sso登录,多租户,大数据平台对接,notebook在线开发,拖拉拽任务流pipeline编排,多机多卡分布式训练,超参搜索,推理服务VGPU,边缘计算,serverless,标注平台,自动化标注,数据集管理,大模型微调,vllm大模型推理,llmops,私有知识库,AI模型应用商店,支持模型一键开发/推理/微调,支持国产cpu/gpu/npu芯片,支持RDMA,支持pytorch/tf/mxnet/deepspeed/paddle/colossalai/horovod/spark/ray/volcano分布式
Jupyter Notebook
3,156
star
2

evhub

EvHub supports the distribution of delayed, transaction, real-time and cyclic events. It is used in scenarios such as system decoupling, asynchronous calling and distributed transactions.
Go
168
star
3

argo-workflow

基于argo的云原生调度,项目管理,在线notebook,在线镜像构建,拖拉拽编排pipeline,定时调度,实例管理
Python
62
star
4

fab

低代码平台,前端低代码,兼后端低代码, python后端框架 react前端框架
Python
48
star
5

QQMusic_Innovation_QPlay_AIDL_OpenID_Demo

24
star
6

qqmusic-innovocation-openapi-sdk-android-demo

17
star
7

TME-Audio-Super-Resolution-Samples

Audio samples for the paper 'Phase-aware music super-resolution using generative adversarial networks'
13
star
8

cube-job-template

机器学习平台 cube-studio 中的任务模板
Python
12
star
9

QQMusic_Innovation_QPlay_Auto_Demo_iOS

Objective-C
6
star
10

QQMusic_Innovation_QPlay_OpenAPI_Demo

The project demonstrates that how the arguments works
Python
5
star
11

QQMusic_Innovation_QPlay_OpenID_Demo_iOS

Objective-C
4
star
12

QQMusic_Innovation_QPlay_OpenID_Demo_Golang

Go
1
star