NL2SQL:业务规则、表关联与标准问答¶
这三类配置分别解决“如何理解业务”“如何连接数据”和“常见问题怎样查询”。入口都在知识库的“语义配置 → NL2SQL 语义”。
业务规则¶
点击业务规则中的新建,填写业务规则标识,选择一张或多张关联表,再输入自然语言规则并保存。
规则应说明适用条件及例外,例如“查询年初余额时,取上一年度期末余额;当用户明确指定其他期间时按指定期间处理”。这类解释帮助智能体判断口径;必须固定追加到 SQL 的条件应使用强制约束。
保存后用一个符合规则的问题和一个例外问题验证,避免规则覆盖范围过大。
表关联¶
表关联定义两张表的连接方向、类型和字段,避免智能体根据相似字段名错误连接。
新建表关联,填写标识和说明。
选择左表与右表。
选择 JOIN 类型,例如 LEFT JOIN 或 INNER JOIN。
添加关联条件:左表字段、比较方式、右表字段;需要时添加多条条件。
检查 JOIN SQL 预览的连接方向和条件组合,再保存。
例如订单表与客户表通过客户编号关联。需要保留尚未匹配到客户的订单时,应核对连接类型是否符合这个业务目标;只希望保留匹配记录时则采用相应的连接方式。
验证时检查未匹配记录、重复键和结果行数。连接能执行不代表不会重复累计金额。
标准问答¶
结构化标准问答保存标准问题和经业务确认的 SQL。它与 RAG 标准问答保存文字答案的用途不同。
新建标准问答,填写标识和场景说明。
填写标准问题,并添加业务对象和关键条件相同的相似问法。
选择参考使用或强制使用。
填写经过确认的完整只读 SQL,通过校验后保存。
分别测试标准问法、等价问法以及条件不同的问法。
使用方式 |
含义 |
|---|---|
参考使用 |
作为回答和 SQL 生成参考,结合其他语义配置判断 |
强制使用 |
查询意图、业务对象和关键筛选条件一致时,可使用配置 SQL |
SQL 只支持一条只读 SELECT 或 WITH 查询,不能包含写入、结构修改或多条语句。语法校验成功后,还需检查源表、筛选条件和实际返回结果。
不要把“本月销售额”和“上月销售额”作为固定同一 SQL 的等价问题,除非查询逻辑确实支持并正确处理这种期间差异。