支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


通过问答生成SQL:大模型时代BI的最佳解决方案

发布日期:2025-03-05 08:10:29 浏览次数: 1858 作者:编程与架构
推荐语

大模型时代的BI新突破,用自然语言对话实现高效数据查询。

核心内容:
1. AskTable如何将自然语言转化为SQL查询
2. 企业高层和业务一线面临的数据查询挑战
3. 支持的数据库和文件类型,满足多样化数据需求

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家


通过问答生成SQL:大模型时代BI的最佳解决方案

AskTable 是一款基于先进的大型语言模型(LLM)的智能数据问答解决方案,旨在帮助企业快速进行数据查询和决策。它集成了意图识别、知识检索、问题解析、数据查询和可视化输出等多种功能。用户通过自然语言提问,即可获得数据分析结果,从而实现更加灵活、高效的数据驱动决策。

chatbi

解决什么问题

企业高层面临的挑战

  • • 低效的数据查询与决策流程:企业高层在进行新项目或决策时,往往需要迅速获得数据支持,但传统方法(如向数据分析师请求数据)通常效率较低,且响应时间较长。
  • • 决策慢,灵活性差:决策过程中的数据需求往往是即时的,依赖传统数据分析师处理数据,往往不能快速适应快速变化的需求。

使用 ChatBI 后,高层可以通过简单的自然语言查询获取实时数据,节省了与分析师沟通的时间,极大提升了决策效率。

业务一线面临的挑战

  • • SQL 门槛高:业务人员通常缺乏足够的数据库查询知识,尤其是在复杂的 SQL 查询语句的编写上,技术壁垒较高。
  • • 业务与技术的融合困难:业务人员需要兼顾业务理解、数据分析和技术实现,但缺乏跨领域的综合能力,使得数据分析和决策变得困难。

ChatBI 将繁琐的 SQL 查询隐藏在自然语言后面,业务人员只需通过简单的语言提问,就能获得数据分析结果,降低了技术门槛,并且更符合业务需求。

支持的数据库或文件类型

ChatBI 支持多种流行数据库以及文件格式的查询,能够满足各种企业的数据需求。以下是支持的主要数据库和文件类型:

Logo
类型
支持版本
说明
MySQL
5.7/8.0
流行的开源数据库
PostgreSQL
14/15/16
流行的开源数据库
PolarDB MySQL
5.7/8.0
阿里云-云原生数据库(MySQL 兼容)
PolarDB PostgreSQL
14/15/16
阿里云-云原生数据库(PostgreSQL 兼容)
Oracle
18c
主流商用关系型数据库
OceanBase
4.2 及以上
分布式关系型数据库(MySQL 兼容)
TiDB
8.1.0 及以上
分布式关系型数据库
ClickHouse
22.12 及以上
分布式列式数据库
StarRocks
3.x
分布式分析型数据库
Hive
3.x
分布式分析型数据库
Excel 文件
.xlsx/.xls
-
CSV 文件
.csv
支持常见分割符包括逗号、制表符等

架构解读

下面是整个系统架构的概览,展示了 ChatBI 如何利用自然语言理解能力将用户的查询转化为 SQL 查询并执行。

img

知识库建设

为了提高自然语言处理的精度和业务适应性,知识库的建设至关重要。企业内部的业务知识和规则常常是 ChatBI 精确理解用户需求的关键所在。

在企业内部,为了提高效率,常常会形成许多约定俗成的简称和规则。这些信息在内部交流中无需多言,大家自然心知肚明。但对于一个外来的 AI 来说,这些“大家都知道”的信息却是陌生的。

要让 AI 真正“懂你”,就需要对它进行训练,让它也能学会并掌握这些“大家都知道”的信息。我们将这类信息归纳为“业务知识”,它是企业文化与经验的沉淀,是帮助 AI 提升理解力的关键所在。

在 AskTable ,您可以通过以下四种方式来添加您企业的业务知识:

  1. 1. 术语库
  2. 2. 训练师
  3. 3. 专属偏好
  4. 4. 元数据
业务知识

术语库

术语库帮助 AskTable AI 理解企业内部特有的术语。例如,当“铁盒子”在企业中代表“发动机”时,可以将这一约定添加到术语库中,确保 AI 在处理相关查询时能准确理解。

当 AskTable 接收到包含这些术语的查询请求时,会参考术语库中的定义,将术语转换为标准业务语言后进行分析,让查询结果更加贴合用户需求。

术语库

训练师

AskTable AI 的能力会随着用户反馈不断优化。通过点赞或提供训练数据,您可以帮助 AI 更快地学习如何更好地生成答案。训练数据包括用户提出的问题及其对应的正确 SQL 查询。

借助这些数据,AI 可以迅速掌握企业的具体需求,持续提高回答的精准度和实用性。

训练数据集
训练数据集

专属偏好

专属偏好让 AskTable AI 更懂用户的提问意图。比如,当数据库中包含多年的数据,您可以预设偏好,仅让 AI 查询最近一年的数据,从而避免不必要的筛选。

通过设置专属偏好,您可以进一步细化 AI 的查询范围,让其更准确地匹配用户需求,为您节省时间并提高工作效率。

专属偏好

元数据

元数据是对数据的“数据”描述,提供了数据的背景信息,如结构、格式和含义。这些信息让 AI 能够更准确地解读和处理数据,从而提升查询的精准度和效率。

AskTable 会自动从数据库中提取元数据,包括数据库、表、字段的信息,以及字段备注。即使没有备注,系统也会自动生成相关信息。所有元数据将汇总并存储在 AskTable 的 Meta Brain 中,为后续查询和分析提供支持。

元数据在数据查询中的作用体现在多个方面,比如:

示例 1:枚举值

例如,一个字段记录性别,其中 sex=1 表示男性,sex=2 表示女性。当用户查询“性别为男”的数据时,AI 会基于元数据自动生成查询条件 sex=1,无需用户明确说明。

示例 2:特定格式

例如,一个字段记录基金的星级评价,使用从 ★ 到 ★★★★★ 的格式。如果用户查询“四星以上的基金有多少”,元数据会帮助 AI 理解星级格式,自动生成正确的查询条件:

  • • 错误:select count(*) from fund where star >= 4;
  • • 正确:select count(*) from fund where star in ('★★★★','★★★★★')

通过元数据的加持,AskTable 能更深入地理解数据的实际含义,为您生成更精准的查询结果,助力高效决策。

元数据

AI 生成 SQL

利用自然语言处理能力自动生成 SQL ,从而满足各种特定场景。

适应场景

  1. 1. 开发者不想针对不同的用户需求,实现不同的问答逻辑,想通过一个页面提供统一查询服务
  2. 2. 开发者不想使用 AskTable 的 UI 界面,想自己实现一个 UI 界面
  3. 3. 开发者想自己访问数据库,而不是通过 AskTable 访问数据库。

举个例子:

用户查询:获取所有在2021年销售超过1000件的产品

生成的 SQL 查询

{
    "question": "获取所有在2021年销售超过1000件的产品",
    "prepared_statement": "SELECT name, sales FROM products WHERE year=2021 AND sales>1000",
    "parameters": {},
    "header": {
        "name": "姓名",
        "sales": "销售额"
    }
}

通过 ChatBI,用户只需用简单的自然语言提出问题,系统即可自动生成对应的 SQL 查询语句,极大地提高了查询效率。

AI利用自然语言统计

从自然语言查询生成 SQL 并直接返回查询结果的 API 接口。通过该 API,开发者可以利用AI的自然语言处理能力,快速获取数据库中的信息。这对于需要简化查询过程和提高开发效率的场景尤为适用。

适应场景

  1. 1. 开发者希望用户能直接通过自然语言查询获取数据,而不需要自行处理 SQL 语句的生成和执行。
  2. 2. 开发者不想使用 AskTable 的 UI 界面,想自己实现一个 UI 界面,直接展示查询结果。
  3. 3. 开发者希望提供灵活的查询方式,适用于多种用户场景。

用户查询:有多少个国家?

生成的返回结果

{
    "status": "OK",
    "elapsed_time": 6,
    "text": "共有206个国家。",
    "files": null,
    "charts": null,
  ....
}

通过这种方式,开发者可以将自然语言查询与数据分析功能集成到自己的应用中,简化了数据交互流程。

总结

AskTable 虽然没有完全开源,但是这个思路是一个非常好的应用场景,大家可以参考它的思路,结合自身的需求和技术栈,去设计和开发符合自己产品特色的 ChatBI 系统。通过分析 AskTable 的应用架构、交互方式及数据处理流程,可以为自己搭建类似的智能对话系统提供宝贵的经验和启示。


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

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

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

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

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询