调用该API可根据用户提供的自然语言描述,自动获取相关数据库与业务信息并生成可执行的SQL语句。
接口说明
返回结果中除了生成的 SQL 语句外,还包括生成 SQL 时用到的表、引用的知识点、相似 SQL 等信息,方便您理解和使用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
dms:GenerateSqlFromNL |
none |
*全部资源
|
无 | 无 |
请求语法
POST / HTTP/1.1
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| DbId |
string |
是 |
数据库 ID。您可调用 ListDatabases 接口获取该参数的值。 调用 API 时,系统将会在该数据库中获取相关信息。 |
1*** |
| Knowledge |
string |
否 |
知识数据,即额外输入的业务知识。补充的知识可以帮助模型更好地理解、回答问题。 |
state>0代表成功 |
| Question |
string |
是 |
问题描述。 |
查询今天的用户访问量 |
| Dialect |
string |
否 |
数据库实例类型。系统默认值为 MySQL,将为您生成标准的 SQL 语句。 |
MySQL |
| Level |
string |
否 |
数据处理级别。默认为基础级别的处理。 |
base |
| Model |
string |
否 |
选用的模型名称,仅可使用通义千问系列的模型。 |
qwen-plus |
| TableNames |
string |
否 |
选用的表名,列表(用逗号分隔),若指定该值,则只会使用选用的表 |
users,orders |
| RealLoginUserUid |
string |
否 |
实际调用 API 的用户的阿里云账号 UID |
21400447956867**** |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
取数 |
||
| RequestId |
string |
请求 ID。用于定位日志,排查问题。 |
0C1CB646-1DE4-4AD0-B4A4-7D47DD52E931 |
| ErrorCode |
string |
错误码。 |
UnknownError |
| ErrorMessage |
string |
错误信息。 |
UnknownError |
| Success |
boolean |
是否调用成功。
|
true |
| Data |
object |
返回的数据信息。 |
|
| Question |
string |
输入的问题。 |
查询今天用户访问量 |
| Tables |
array<object> |
生成 SQL 时用到的表列表。每个元素代表一个表实体。 |
|
|
object |
表实体。每个元素代表一个具体的表,包括但不限于表名、表 ID 等信息。 |
||
| TableName |
string |
表名,用于识别数据库中的某张表。 |
ins_1.db1.table1 |
| KnowledgeReferences |
array<object> |
引用的知识。 |
|
|
object |
知识列表。 |
||
| Name |
string |
知识名称。 |
sample_tbl |
| Content |
string |
知识的具体内容。 |
{'Status': 'OK'} |
| Level |
string |
知识等级,包括待补充(to_complete)、待确认(to_review)、待验证(to_verify)和已验证(verified)。 枚举值:
|
verified |
| Sql |
string |
生成的 SQL 语句。 |
SELECT * FROM table WHERE condition; |
| SimilarSql |
array<object> |
相似 SQL 列表。 |
|
|
object |
SQL 信息。 |
||
| Question |
string |
问题描述。 |
实例xxx的访问量有多少? |
| Sql |
string |
相似的 SQL 语句。 |
SELECT * WHERE ResourceType = 'ACS::ECS::Instance' AND ResourceGroupId != 'rg-xxx' |
| Thought |
string |
生成 SQL 的思考过程。 |
度量(指标): 用户询问了xx指标,根据上下文,需要计算xxx。 维度(筛选条件): 用户问题里提到了xx的条件,结合上下文,核心维度为xxx。 综上,需要使用xxx表,使用xxx列。其中xxx作为projection选择,xxx用于过滤条件,xxx用于分组条件。 |
| Score |
string |
该 SQL 的可信度。分数越高,可信度越高。取值范围 0~1。 |
0.52 |
| Thought |
string |
生成 SQL 的思考过程。 |
通过分析用户的问题和提供的知识,生成了相应的SQL语句。 |
示例
正常返回示例
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语句。"
}
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。