跳到主要内容 跳到补充内容

从文本提示生成 SQL 转换

您可以使用 SQL 助手从文本提示生成 SQL 转换,在文本提示中描述要实现的转换。例如,您可以选择列、联接表或筛选记录。

查询是使用基于文本提示和数据集信息的生成式 AI 生成的,并使用目标数据平台的语法。

信息注释Qlik 不控制产生的输出。由于GenAI 的性质,未经审查或编辑,响应可能无法生成符合您要求的 SQL。根据 Qlik 客户协议的条款,生成的查询被视为“内容”。

文本提示和数据集信息被发送到第三方生成式 AI (GenAI) 模型以生成 SQL 代码。这些信息被视为客户数据,不会用于在 AWS Bedrock 上训练 Qlik Cloud 或 GenAI 模型。有关更多信息,请参阅共享的信息

可用性

GenAI 模型托管在 AWS Bedrock Anthropic 上,与租户 Qlik Cloud 位于同一地区。以下 Qlik 地区的租户可以使用 SQL 助手

  • 美国东部(北弗吉尼亚州)

  • 亚太(悉尼)

  • 欧洲(法兰克福)

  • 欧洲(爱尔兰)

SQL 助手必须由 Qlik Management Console 中的租户管理员在租户级别启用。

  • 设置 > 功能控制中启用基于生成式 AI 的 SQL 助手

Qlik Cloud Government 注释

SQL 助手Qlik Cloud 政府 中不可用。

使用 SQL 助手生成 SQL 查询

SQL 助手可用于转换数据任务中的 SQL 转换。您必须至少向 SQL 转换添加一个数据集。

有关 SQL 转换的更多信息,请参阅 添加 SQL 转换

  1. 单击 SQL 助手

    SQL 助手通过文本提示打开。

  2. 提示中键入要实现的转换的描述。

    示例:列出销售额超过 500 万的所有客户。包括每个客户的总销售额和总机会。

    提示注释在提示中引用列时,请确保它们存在于所选数据集中。
  3. 单击生成

  4. 查看在 SQL 中显示的生成的 SQL 查询。

    您可以通过单击 喜欢不喜欢 对结果进行评分。这将有助于 Qlik 提升 SQL 助手的使用体验。

    如果生成的转换似乎不准确,或者您想更改某些内容,请单击编辑提示,对提示进行更改并生成新查询。

  5. 当您对生成的 SQL 查询感到满意时,单击应用可复制到 SQL 转换。

  6. 单击提取参数

  7. 单击描述表格

  8. 结果中检查所得数据集。您还可以单击查看数据以查看结果的数据示例。

  9. 如果您对结果满意,请单击“确定”保存并应用 SQL 转换。

共享的信息

以下信息与生成式 AI 模型共享以生成查询。

  • 文本提示

  • 用于使查询适应目标数据平台的其他生成指令。
    示例:以兼容 Snowflake 的语法生成 SQL 查询

  • 数据集名称和描述。

  • 列名称、数据类型和大小。

  • 主键列(唯一标识符)。

  • 数据集之间的关系

    示例:使用“order_id”键将“order_detail”附加到“order”。

使用限制

以下使用限制适用于 SQL 助手

  • 单次呼叫:18,000 个令牌。

    如果超过此值,请删除不需要的数据集,或在提示中提供不太复杂的描述。

  • 每日(每个租户):1 百万个令牌

  • 每月(每个租户):1 千万个令牌

在计算使用量时,一个令牌代表 6 个字符。对 GenAI 模型的调用包括:

  • 生成 SQL 查询的一般说明。此部分为固定大小。

  • 文本提示。

  • 数据集中元数据的模式表示。如果你选择了大量的数据集,这部分可能会非常大。

限制

  • 不支持增量 SQL 生成。有关更多信息,请参阅

  • 您只能转换当前表中的数据。不支持以前的表、更改表和实时视图。有关表格和视图的详细信息,请参见云数据仓库中的数据集架构

  • 不使用独立于平台的功能,例如 $CONCAT)

最佳实践

  • 当相关列具有不同名称时,请检查源数据集中的数据模型是否包括所有必需的关系。一般来说,GenAI 模型将关联同名列,但没有定义关系。

    示例:当订单中的 ShipVia 列应与发货人中的 shipper_id 列相关时,您应该在生成 SQL 转换之前在数据模型中创建一个关系。

  • 仅选择转换所需的源数据集。过时的源数据可能会导致不正确或不相关的结果,并增加令牌的使用量。

  • 您可以在提示中添加描述,以标识名称不明显的列或数据集。

    示例:cus_ct 包含客户数据集。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!