You need to enable JavaScript to run this app.
文档中心
ByteHouse云数仓版

ByteHouse云数仓版

复制全文
下载 pdf
AI Studio
自然语言问数
复制全文
下载 pdf
自然语言问数

AI Studio 的自然语言问数(Beta)​结合业务数据源的表结构和字段信息,将自然语言问题转为 SQL,校验后执行查询并返回结果。本文介绍如何选择数据源、描述查询需求,以及通过多轮追问调整查询条件。

使用前准备
  • 已登录火山引擎控制台并进入 ByteHouse 云数仓版,选择业务数据所在的地域和环境。支持地域请参见支持的地域。
  • 当前账号具备目标数据源及相关库表的访问和查询权限。
  • 了解需要查询的业务指标、时间范围和统计口径;已知目标库表时,准备数据库名、表名及关键字段说明。

发送查询问题后,AI Studio 会自动生成 SQL并执行。执行查询会消耗计算资源,请在发送前明确时间范围和必要的筛选条件。
自然语言问数仅支持只读 SELECT 查询,不用于写入或删除数据、修改库表结构、变更权限。
SQL 校验不保证业务逻辑正确,也不保证查询性能或资源消耗符合预期。请核对生成的 SQL 和返回结果后再使用分析结论。完整使用声明请参见声明。

发起数据查询

进入问数模式

  1. 登录火山引擎控制台,进入 ByteHouse 云数仓版,选择业务数据所在的地域和环境。
  2. 在左侧导航栏选择 AI Studio,单击新会话。
  3. 选择自然语言问数(Beta)​模式。
    Image

选择业务数据源

  1. 单击输入框下方的数据源,选择本次查询对应的数据源。
  2. 确认所选数据源与业务数据所在环境一致。知道目标库表时,在问题中补充“数据库名.表名”,帮助明确查询对象。

未明确表名时,AI Studio 可以结合当前账号可访问的库表信息查找相关候选表。为减少歧义,请尽量说明业务主题、指标含义和已知字段;返回的 SQL 使用了不符合预期的表时,应明确更正查询对象,再发起查询。
Image

描述查询需求

在输入框中说明要查询什么,以及统计范围和计算方法。仅提出“分析销售情况”等宽泛问题,可能无法准确表达业务口径;可以按以下要素补充描述:

查询要素

需要说明的内容

示例

查询对象

数据源、数据库、表及相关字段。

查询 analytics.orders 表中的订单数据。

指标与口径

指标对应的字段、计算方法、状态条件和去重规则。

只统计 status 为 paid 的订单;订单数按 order_id 去重,金额汇总 amount。

时间范围

使用哪个时间字段、起止时间、边界及所需时区。

按 order_date 筛选,包含 2026-10-01,不包含 2026-10-08。

分组与筛选

按什么维度统计,以及地区、产品或用户等筛选条件。

按 region 分组,排除 region 为空的记录。

排序与返回范围

排序指标、方向及希望查看的结果规模。

按总金额降序排列,查看前 10 个地区。

发送并等待查询结果

  1. 确认数据源、时间范围和筛选条件后,发送问题。
  2. AI Studio 结合相关表结构和字段信息生成 SQL,自动执行查询。
  3. 等待查询完成,在会话中查看 SQL 和返回的数据结果。收到要求补充信息的提示时,补充明确的库表、字段或统计口径后再发送。

通过多轮追问调整查询

针对同一分析任务,可以在当前会话中继续补充条件,AI Studio 会结合已有对话调整查询。例如:

  • “保留当前时间范围和已支付订单口径,只统计华东地区。”
  • “保持其他条件不变,将分组维度从地区改为订单日期。”
  • “按订单数降序排列,返回前 10 条。”

补充查询条件并发送后,会再次执行查询并消耗计算资源。​追问中应明确哪些条件保留、哪些条件改变;新结果返回后,重新核对 SQL,避免将不同时间范围或统计口径的结果直接比较。
需要分析新的业务主题,或者切换模式、环境时,请新建会话。继续此前的问数时,可以在左侧会话区按标题关键词查找历史会话,打开后查看已有问题和结果,再明确本次查询条件。历史结果反映的是此前查询时的数据,重新发送查询后才能获得新的结果。

示例:统计各地区已支付订单

以下示例仅用于说明提问、核对和追问的方法。假设已有可查询的 analytics.orders 表,包含 order_id(订单标识)、order_date(订单日期,Date 类型)、region(地区)、status(状态)和 amount(订单金额)字段;每行对应一笔订单,paid 表示已支付,金额使用同一币种和单位。

  1. 进入自然语言问数模式,选择对应的业务数据源。
  2. 发送以下问题,查询 2026 年 10 月 1 日至 7 日各地区的已支付订单数和总金额。

请查询 analytics.orders 表,按 order_date 筛选,包含 2026-10-01,不包含 2026-10-08。只统计 status 为 paid 的订单,排除 region 为空的记录,按 region 分组。订单数按 order_id 去重,订单金额对 amount 求和,按总金额降序返回前 10 个地区。

查询完成后,检查 SQL 是否使用 analytics.orders,是否包含指定的日期边界、paid 状态和地区非空条件;订单数是否按 order_id 去重,金额是否汇总 amount;分组、排序和返回范围是否与问题一致。再核对结果中的地区、订单数和金额,确认没有将订单金额误解释为其他指标。
在同一会话中继续追问:

保持时间范围、已支付状态、订单数去重方式和金额口径不变,改为按 order_date 分组,按日期升序返回每天的订单数和总金额,不再限定前 10 个地区。

发送后会重新查询。检查新 SQL 是否将分组维度改为日期、移除了地区排名的返回范围,并保留了此前明确的筛选和统计条件。该示例不预设查询结果或具体 SQL 写法,以实际返回内容为准。

最近更新时间:2026.11.06 10:42:52
这个页面对您有帮助吗?
有用
有用
无用
无用