调用该API可根据用户提供的自然语言描述,自动获取相关数据库与业务信息并生成可执行的SQL语句。
接口说明
返回结果中除了生成的 SQL 语句外,还包括生成 SQL 时用到的表、引用的知识点、相似 SQL 等信息,方便您理解和使用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
dms:GenerateSqlFromNL | none | *全部资源 * |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
DbId | string | 是 | 数据库 ID。您可调用 ListDatabases 接口获取该参数的值。 调用 API 时,系统将会在该数据库中获取相关信息。 | 1*** |
Knowledge | string | 否 | 知识数据,即额外输入的业务知识。补充的知识可以帮助模型更好地理解、回答问题。 | state>0代表成功 |
Question | string | 是 | 问题描述。 | 查询今天的用户访问量 |
Dialect | string | 否 | 数据库实例类型。系统默认值为 MySQL,将为您生成标准的 SQL 语句。 | MySQL |
Level | string | 否 | 数据处理级别。默认为基础级别的处理。 | base |
Model | string | 否 | 选用的模型名称,仅可使用通义千问系列的模型。 | qwen-plus |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "0C1CB646-1DE4-4AD0-B4A4-7D47DD52E931",
"ErrorCode": "UnknownError",
"ErrorMessage": "UnknownError",
"Success": true,
"Data": {
"Question": "查询今天用户访问量",
"Tables": [
{
"TableName": "ins_1.db1.table1"
}
],
"KnowledgeReferences": [
{
"Name": "sample_tbl",
"Content": "{'Status': 'OK'}",
"Level": "verified"
}
],
"Sql": "SELECT * FROM table WHERE condition;",
"SimilarSql": [
{
"Question": "实例xxx的访问量有多少?",
"Sql": "SELECT * WHERE ResourceType = 'ACS::ECS::Instance' AND ResourceGroupId != 'rg-xxx'",
"Thought": "度量(指标): 用户询问了xx指标,根据上下文,需要计算xxx。\n维度(筛选条件): 用户问题里提到了xx的条件,结合上下文,核心维度为xxx。\n综上,需要使用xxx表,使用xxx列。其中xxx作为projection选择,xxx用于过滤条件,xxx用于分组条件。",
"Score": 0.52
}
],
"Thought": "通过分析用户的问题和提供的知识,生成了相应的SQL语句。"
}
}
错误码
访问错误中心查看更多错误码。