自然语言查询
通过 POST /ask 把一句话转换为可检查的 SQL 方案。请求使用数据库访问令牌,服务端据此确定租户、用户和权限。
提交问题#
{
"question": "按供应商汇总送货数量,按总量从高到低排序。",
"dataset_ids": ["deliveries"],
"planner_mode": "jev",
"execute": false,
"max_evaluations": 100
}dataset_ids 可以使用目录中的 ID 或逻辑名称;省略时使用当前租户的数据目录。业务术语和判断规则可写入字段说明,或通过请求的 knowledge 提供。
execute: false 只生成方案,不执行 SQL,也不评估源数据行;规划过程本身仍可能调用模型。max_evaluations 限制新增的行级语义评估。
选择规划方式#
jev 模式选择有明确类型的操作、字段角色和值,再由确定性代码编译 SQL。hybrid 模式让 JEV 选择上下文、LLM 提出 SQL、JEV 复核方案,详见混合查询。
查询可以包含筛选、关联、分组、计算和排序。复杂组合可能产生部分方案或未解决的方案;能够生成合法 SQL,不代表已经正确理解了全部需求。
处理待复核方案#
需要复核时,接口返回 HTTP 422、review_required、executed: false 和 review_id。方案仍保留候选解释、替代选项和模型分数。
| 操作 | 接口 | 效果 |
|---|---|---|
| 修正解释 | POST /ask/review |
根据 corrections 重新生成未执行的方案。 |
| 确认方案 | POST /ask/confirm |
执行合法的读取,或生成写入预览。 |
| 编辑 SQL | POST /data/sql |
对修改后的 SQL 应用相同的访问和执行检查。 |
复核记录绑定请求、用户、租户和目录定义,并有有效期。上游解释变化会使不兼容的下游选择失效。非法 SQL 不能通过确认直接执行。
理解未完成结果#
部分读取可能省略不受支持的操作,或仅返回有范围限制的源数据预览,不能当作完整答案。未解决的方案可能没有可执行 SQL。写入操作不提供部分执行的降级方案。
在查询工作区中可以查看历史、检查决定并提交修正;打开历史记录本身不会重新执行查询。
本页介绍用法与注意事项。完整参数及详细约定请参阅对应英文文档。