2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

SuperSonic:Chat BI 与 Headless BI 新一代数据分析平台实践

发布日期:2024-12-28 13:50:13 浏览次数: 3678
作者:DataFunTalk

微信搜一搜,关注“DataFunTalk”


导读 数据分析平台作为企业内部数据价值变现的重要载体,在企业数字化进程中发挥着重要作用。企业数据需求的复杂性以及当前平台存在使用高门槛、口径不统一、需求响应不及时等问题,使得分析平台价值体现受到影响。如何解决这些挑战,成为业界普遍关心的议题。我们融合 Chat BI 与 Headless BI,构建了新一代数据分析平台,为用户提供了更高效、更智能的数据分析服务和体验。

本次分享主要内容包括以下几大部分:

1. 数据分析平台现状

2. 架构演进思考

3. Chat BI 与 Headless BI 融合实践

4. 未来展望

5. Q&A

01
数据分析平台现状

1. 业务团队痛点



我们从数据分析平台的现状讲起。当前,数据分析主要采用三种模式。


第一种是 SQL 探索式,即数据工程师开发一个平台,通过写 SQL 来查取数据或进行探索。这种方式有两个不足之处,一是 SQL 学习门槛高,对普通业务人员来说上手较慢;二是元数据、库表和字段信息很多很复杂,业务人员很难快速理解,需要不断询问数据工程师字段含义、表的位置以及库里有哪些表等,数据工程师只能忙于处理这些繁杂的需求。


第二种是拖拽式。将一些维度指标放在一起,通过拖拽来查看数据。这种模式也存在不足之处,首先,分析场景有限,如果针对特定领域,就需要创建很多这样拖拽式的已建模好的数据;此外,操作门槛也较高,需要不断进行下钻、查看等操作;再者,缺乏数据解读,难以直接获知数据内涵,业务方常常需要将数据下载后再通过 Excel 等离线方式自行解读。


第三种是看板式。这种方式在数据解读等方面做得不错,但看板不够灵活,想增加一些维度就需要额外提需求,再制作一个看板,导致开发效率低下。

2. 业务团队诉求



在当前模式下,数据团队提供保姆式服务。业务团队提出需求,数据团队按需求制作报表,发布到自助分析平台上,业务团队查看报表和看板,再下载数据进行分析。本质上,这个分析平台采用的是抽取元数据后写 SQL 的简单模式,效率低下。


业务团队期望的模式是变数据方主导为业务方主导。他们能直接向数据分析平台询问和查询数据,自主、自由地进行可视化数据分析,并进行数据解读等。而数据团队只需做一些标准化的工作,将数据模型标准化,并提供智能化服务插件等。

3. 数据团队痛点



再来看看数据团队的痛点。数据加工链路如上图所示,从原始层接入,到加工层,通常分为 ODS 层、DWD 层、DWS 层、ADS 层等进行分层的数据加工处理。加工处理后,基于 ADS 层或 DWD 层的表,写 SQL 创建数据集,再发布到 BI 平台上,或对接其它系统。


这样的模式下需要制作很多数据集,一个数据场景就要注册一个数据集,并且权限分配在数据集层面,比如同一指标在不同数据集会定义不同权限,因此存在大量冗余。二是指标逻辑不一致,难以复用。这些是数字团队面对的主要痛点。


02

架构演进思考



1. 引入 Headless BI 解决数据治理问题



针对上述痛点,我们考虑引入 Headless BI 方案来解决数据治理问题。Headless BI 主要包括两块,一个是 semantic model(语义模型),另一个是 semantic layer(语义层)。通过抽象出指标、维度等语义对象,将这些语义对象暴露给外部系统直接使用。这样做的最大好处是口径统一,可以一处定义,多处复用。第二个好处是权限可控。以前,一个数据集里设置一个权限,另一个数据集中又设置一个权限,导致权限不可控,可能引发数据泄露。现在我们针对指标设置权限,当外部系统对接时,权限能够得到控制,不会产生误解。

我们现有实践中的 Headless BI 架构设计如上图所示。最底层是数字层,包括 StarRocks、Doris、ClickHouse、MySQL 等数据引擎。通过这些数据引擎进行语义建模,建立维度、指标。在维度和指标上进行权限设置,如行列权限、指标/维度权限、主题域/模型权限等。此外,还有对物化和血缘的管理,以及术语处理。


Headless BI 第二个重要模块是 semantic layer,也就是查询层。我们抽象了一个语言 S2SQL,所有对外数据都是通过 S2SQL 来查询的。对外支持以 JDBC 模式来连接,也可以通过 HTTP 请求来连接。Semantic layer 还有一个重要功能,是把 S2SQL 转译成物理 SQL。这涉及到缓存,SQL 解析和 SQL 优化。


最上层是应用层,Dashboard、BI 系统以及其它业务系统都通过 S2SQL 这一语言进行查询。


这就是 Headless BI 架构的整体设计。

2. 引入 Chat BI 解决业务易用性问题



引入 Headless BI 后,还有一个问题未解决,即业务的易用性问题。如何让业务更便捷更好地使用数据呢?如今大模型技术发展如火如荼,我们考虑通过结合 Chat BI 技术进行问数和取数。例如,在电脑 PC 端输入一段文本,就能让数据看板实时展现出来,还可以在移动端,直接通过语音或文字的方式进行提问,非常方便。


这种方式带来的好处:一是零门槛,无需额外提需求,只需语音提问即可;二是灵活,PC 端和手机端都支持;三是随问随答,秒级回复。

但是当前的 Chat BI 仍存在一些问题。我们先来看看当前的模式是什么样的。Chat BI 通过给大模型一些语料,让它生成 SQL。比如提问“一路生花昨天的播放量和结算播放量相加是多少?”然后,我们需要提供建表语句,维度表包括歌曲 ID、歌曲名;指标表包含播放量、结算播放量,以及与维表的关联关系,比如歌曲 ID。把这些信息一起告诉大模型,让其生成一个物理 SQL。这种方式非常依赖于大模型的能力,如果大模型能力有限,生成的 SQL 很可能是错的。


一篇论文中指出了生成 SQL 通常出错的点在哪里。第一个是 schema linking,占了 37%;join 占了 21%;group by 占了 23%,还有其他一些点。因此直接让大模型去执行 SQL 是很困难的,而且大模型经常产生幻觉问题,生成的 SQL 经常会出错。


主要问题可以归纳为四大方面:首先是数据安全问题,可能出现元数据以及业务数据泄露;另外,如前文提到的,复杂 SQL 生成困难;第三,私域知识识别难,例如“一路生花”,大模型可能不知道这是一个维度值,可能会把它误认为是纬度名;第四个问题就是权限无法管控,比如结算播放量指标属于敏感指标,只允许特定的人去查看,而大模型生成 SQL 语句时很难做到权限管控。

3. 融合 Chat BI + Headless BI



前面介绍了 Chat BI 和 Headless BI 的优势,和它们存在的问题。我们将二者进行了融合。


首先,我们将 Headless BI 的 Semantic layer 作为大模型查询的基础底座,复用其中定义的一些语义对象,这样能够降低生成 SQL 的复杂程度,像权限、计算公式、关联等操作都可以由语义层来处理。这样,大模型只需要专注于提取实体的语义,进而生成一个简单的 S2SQL,就能用来查询数据了。这里的 S2SQL 不会涉及敏感信息,它属于一种逻辑概念,不会把真实的数据表提供给大模型,避免了真实数据表的暴露。而查询数据也是通过语义层来操作的,这样也防止了真实数据出现泄露的情况。


03

Chat BI 与 Headless BI 融合实践

在第三部分,将详细介绍 Chat BI 与 Headless BI 的融合实践。

1. 融合 Chat BI + Headless BI 的初始版本



最初,我们通过融合这两者制作了一个初始版本。首先,定义好 semantic model,包括歌曲名、数据日期等维度,以及播放量、结算播放量、总播放量等指标,以及“热歌”这一术语,并为指标、维度设置权限。将这些语义在 Headless BI 中明确下来。定义好后,将这些语义告知大模型。例如,可以看到其数据库类型是 MySQL,table 是歌曲库,分区字段为数据日期,以及维度信息和涉及的指标。根据这些信息就会生成一个简单的 S2SQL,与前面包含 join 关系和计算公式的复杂 SQL 相比,这个 S2SQL 非常简单。对于大模型来说,生成 SQL 的复杂度大大降低。然后,我们通过这个 S2SQL 到 semantic layer,进行一些操作,比如权限控制、缓存,以及 SQL 解析和优化,最终得到一个物理 SQL。


初始版本的准确率较高。但存在一个比较大的问题,因为库有很多,比如歌曲库、艺人库、专辑库等等,每个库又包含很多字段,在这种情况下,由于上下文不够,而装载的数据太多,模型就容易产生幻觉,导致生成的 SQL 错误。因此我们抽象了一个 Schema Mapper 组件来解决这一问题。

2. Scheme Mapper:提升语义实体识别准确性



首先,我们将维度和指标都存入知识库(向量库+词典库);然后,通过相似度(向量空间距离、编辑距离)召回所需的语义,而不是将所有语义都带给大模型。这样,大模型就能更好地聚焦,从而提升其实体识别的准确性。通过 Mapper 之后,把这些识别到的语义对象 Schema Elements 一起组装给大模型,让大模型再生成 SQL,这样生成的准确率可以得到大幅提升。

3. QueryFilterMapper支持 Copliot Chat 模式



除了利用 Embedding Mapper 和 Keyword Mapper 来进行召回以外,我们还抽象出了一个 QueryFilter Mapper。因为除了 Chat BI 还有一些原有的BI系统,所以需要进行集成。利用 QueryFilter Mapper 组件,其它系统能够通过 copilot 的方式进行问数。比如可以通过小助手直接提问,就可以获得原有看板之外的数据信息。


用户直接在当前上下文里提问,通过 QueryFilter Mapper 组件,会将 table、维度等关键信息直接提供给大模型,这样就实现了将 Chat BI 集成到现有系统中。

4. Semantic Corrector:解决大模型幻觉问题



前面提到,即便对大模型进行了诸多优化,它仍有可能出现幻觉问题。主要问题有三类,即 Schema 错误、语法错误和时间错误。需要针对性地修正:Schema Corrector,修正错误的维度和指标;Grammar Corrector,修正语法错误,例如计算结算播放量大于 100 万,要加上按维度分组,再进行后过滤,加上一个 HAVING SUM;Time Corrector,没有分区日期过滤可能导致查询超时,因此需要限制数据日期,修正时间语义。

5. 记忆管理:持续学习领域知识



另一个关键点是记忆功能,即大模型是否有学习到领域知识。我们需要将历史问题和相关数据收集起来,作为后续大模型生成的参考。这样,大模型就能学习到更多领域知识,生成的 SQL 也会更符合业务方的需要,Chat BI 会越来越聪明。


我们添加了一个 Chat Memory 模块,主要包括两部分:短期记忆和长期记忆。短期记忆用于收集最近几次的上下文信息,包括问题、示例、生成的 SQL 以及 schema 映射到的信息,构造 prompt,用于多轮对话。长期记忆,会把评估正确的对话上下文信息存储到向量库。这里的评估有两种模式,一种方式是由业务方、数字分析师等进行评估;另一种方式是通过大模型自行评估。通过长期记忆,让大模型持续积累领域知识。

6. 引入 Agent:解决复杂数据需求



我们还引入了 Agent,来解决复杂数据需求。


首先,我们将前面提到的 Mapper、Parser、Corrector、Semantic layer 抽象成一个 text2SQL 工具,然后把这个工具注册为一个 text2SQL Agent。另外,在最前面设置一个 Planner Agent,去做具体 Agent 的选择,召回可能用到的 Agent,接着为每个工具制定 plan,判断这个工具能否执行,工具执行完成后进行结果的收集,并对数据进行总结和解读。


其它外部工具和服务可以不断注册进来,注册后作为一个 Agent,由 Planner Agent 进行召回和选择。


这样,数据团队可以更加专注于开发数据工具。同时,数据解读问题也得到了解决,业务方不再需要导出数据自行解读,现在 Planner Agent 会对数据进行总结再返回给业务端。

7. 抽象核心组件+SPI 机制:解决框架扩展性问题



前面讲到的各种组件,如 Mapper、Parser 等等,都较为复杂,我们将核心组件抽象出来,再加上 SPI 机制,解决了框架扩展的问题。我们可以插件化地对工具进行修改,修改可以立即生效,还可以根据特定场景进行自定义的配置,其它第三方语义层也可以很方便地集成进来。

8. 面向业务团队查询数据



下面来看一下面向业务方的查询数据的效果。业务方只需输入一个问题,就可以得到所需数据,操作非常方便。结果也一目了然,非常方便业务方展示和使用。另外,业务方经常想要了解表、指标或维度的定义口径。在指标市场中,用户可以轻松查询定义口径。


另外,针对用户提问,Agent 可以自动拆解问题,调用所需工具,将查询到的数据返回给客户端,并进行数据总结。这样我们就能清晰地看到数据的变化,获得更深层次的数据趋势。除此以外,还会给出参考链接。这个真正实现了由业务方主导的数据分析平台。

9. 面向数据团队治理数据



面向数据团队,主要进行语义建模,设置好关联关系,定义好维度指标。定义好之后,就不需要对每个需求开发看板了,借助 Chat BI 加大模型和语义层即可实现复杂查询需求。


数据团队还有一项重要的工作,就是开发插件,例如词曲作品解读插件、热点线索插件、访问统计插件等等。开发完成后自动加载入 Agent 即可生效。


04

未来展望

最后来分享一下对未来工作的展望。


Headless BI 方面,我们将持续推进血缘构建和物化加速等方面的建设。比如,从数仓的 DWS、DWD、ADS 层进行血缘关联关系的构建。另外,数据团队进行建模成本较高,因此我们希望探索借助大模型的能力进行智能建模。例如只要连接到一个库、一张表,就能自动给出维度指标、别名等内容,实现一键智能建模。从而减少数据开发的工作量,降低建模成本。


Chat BI 方面,希望结合移动端和语音转文字技术,进一步提升便捷性。同时,开发和集成更多数据工具,并优化召回准确率,以便拓展到更多场景。


05

Q&A

Q1:可否透露一下 SuperSonic 的未来发布计划以及路线图?


A1:我们在 GitHub 上会发布具体计划。此外,还可以关注“SuperSonic” 微信公众号获取最新信息。目前我们的开发模式是针对具体 issue 进行讨论,再进行相应的开发,未来会考虑将每个版本应具备的功能以 roadmap 的形式展示出来。


Q2:针对分享中介绍的一系列技术,包括结合大语言模型的一些技术,如何保证数据输出的准确性?是否有一些实际的量化指标?


A2:前面讲到,我们通过 Mapper、Corrector 以及 Semantic layer 等一系列优化来提升准确性。我们在 CSipder 上进行了评估,在两三个月前的评估中,准确性大概为 80%+。



53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅