NL2SQL:表字段说明、强制约束与动态查询¶
在知识库“语义配置 → NL2SQL 语义”展开“高级配置”,进入表和字段说明、强制约束或动态查询。
高级配置入口;知识库没有可用结构化数据时,新建按钮可能禁用,应先准备数据源。¶
表和字段说明¶
用于解释表或字段自身稳定的业务含义。数据库原生注释与补充说明分别保留,便于区分已有信息和业务维护内容。
选择目标表进入配置,阅读表描述,填写表补充说明;搜索列名或列描述,为所需列填写补充说明并检查启用项。没有原生表描述时,应补充表的业务含义与适用范围。
例如把 amount 解释为“含税金额,单位为元”,把状态值含义说明清楚。保存后检查同一个字段在查询和回答中是否被正确理解。
强制约束¶
强制约束用于为某张表的查询固定添加过滤条件。一条约束只绑定一张表;该表参与查询时,约束条件会加入 SQL。
新建强制约束,填写标识并选择关联表。
添加字段、比较方式和值,按需组合 AND/OR 与条件组。
查看 WHERE 条件预览,检查括号和过滤范围。
保存后用包含与不包含目标数据的问题验证。
例如业务只统计人民币记录,可以配置币种条件。不要把这类查询口径配置当作数据库访问权限的替代;目标系统的数据权限仍需按实际权限管理。
条件组合方法见筛选条件与条件组。
动态查询¶
动态查询按需执行预先配置的只读 SQL,为回答提供实时业务数据。例如查询当前的科目映射或业务字典,再供智能体解释用户问题。
新建动态查询时,填写标识、查询说明和 SQL,并选择查询结果处理方式。说明应写清查询目的、返回内容和适用场景。
处理方式 |
作用 |
如何选择 |
|---|---|---|
调用子 Agent 分析 |
先筛选、汇总和分析结果,再把分析结果交给主 Agent |
原始结果较多,需要先整理时 |
直接注入主 Agent 上下文 |
将原始结果完整交给主 Agent 继续回答 |
结果较小,且需要保留原始细节时 |
SQL 只允许一条只读 SELECT 或 WITH 查询,不能写入、修改结构或执行多条语句;动态查询 SQL 大小限制为 16 KiB。通过页面校验后保存,再检查实际查询结果和回答是否使用了正确数据。
查询应只返回回答所需字段和范围。避免把大量无关明细直接放入上下文;选择子 Agent 分析时,也应核对汇总是否遗漏关键条件。
修改后的共同检查¶
重新打开配置确认保存值,再用小范围数据验证。分别检查配置内容、实际生成或执行的 SQL、返回数据和最终回答,避免只看到一个成功状态就跳过口径检查。