# 从文本提示生成 SQL 转换

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

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

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

SQL 助手必须由 Administration 活动中心中的租户管理员在租户级别启用。

信息注释

要使用 AI SQL assistant，您必须选择启用跨区域推理。这允许Qlik Cloud在您的租户区域之外发送推理请求。

有关推理处理位置的详细信息和最新信息，请参阅[启用跨区域推理](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/cross-region-data-processing.htm)。

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

有关可用性和共享信息的更多信息，请参阅[数据集成中基于 AI 的生成助手](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-manage-DI-features.htm#Generati)。

Qlik Cloud Government 注释

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

## 使用 SQL 助手生成 SQL 查询

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

有关 SQL 转换的更多信息，请参阅[添加 SQL 转换](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Adding-SQL-based-tables.htm)。

1. 单击 SQL 助手。

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

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

   示例：列出销售额超过 500 万的所有客户。包含每个客户的总销售额和商机总数。

   提示注释在提示中引用列时，请确保它们存在于所选数据集中。

3. 单击生成。

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

   您可以通过单击 the 偏好 icon 或 the 不喜欢 icon 对结果进行评分。这将有助于 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 生成。有关更多信息，请参阅[添加 SQL 转换](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Adding-SQL-based-tables.htm#top)。

* 您只能转换当前表中的数据。不支持以前的表、更改表和实时视图。有关表格和视图的详细信息，请参见[云数据仓库中的数据集架构](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm)。

* 不使用独立于平台的功能，例如 `$CONCAT)`。

## 最佳实践

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

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

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

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

  示例：cus\_ct 包含客户数据集。