# 自然语言转SQL

调用自然语言转SQL接口,将用户问题与数据表结构描述转换为可直接执行的MySQL查询SQL;系统会自动附加约束提示词,仅生成SELECT查询,非聚合SQL使用分页占位符

# 请求语法

POST v2/chat/nl_to_sql

# 请求头

名称 类型 是否必填 示例值 描述
Authorization 字符串 -- 授权TOKEN

# 请求参数

名称 类型 是否必填 示例值 描述
messages 数组 见下方说明 消息数组:把用户问题和表结构描述(表名、字段名及中文含义)放入 role=user 的 content 中
max_tokens 数字 2048 最大生成tokens

messages 中 content 的推荐组织方式:先描述表结构(如 eb_user表: uid=用户编号, nickname=用户昵称, pay_count=消费金额),再描述需要查询的问题(如 查询消费金额最高的10个用户

# 响应元素

名称 类型 示例值 描述
data.code 数字 200 200=请求成功
data.data.choices 数组 [] 结果数组,choices[0].message.content为SQL结果JSON字符串
status 数字 200 请求状态;200=请求成功;400=请求失败
msg 字符串 ok 请求文字描述

# content内容解析(JSON字符串)

名称 类型 示例值 描述
list_sql 字符串 SELECT ... FROM ... WHERE ... LIMIT ${page},${limit} 列表查询SQL;非聚合SQL包含 ${page}、${limit} 占位符,执行前请替换为实际页码与条数
page_sql 字符串 SELECT COUNT(*) AS count_nums FROM ... 总条数统计SQL,用于分页
table_fields 对象 {"uid":"用户编号"} 返回字段与中文含义的映射

仅生成SELECT查询语句;聚合SQL(如COUNT/SUM)不包含分页占位符,直接执行即可;按本次消耗tokens扣减套餐余量

# 请求示例