1. 什么是知识

知识(Knowledge)是指在自然语言到SQLNL2SQL)转换过程中,用于帮助大模型理解业务领域特定术语、逻辑、规则等的辅助信息。

知识的配置旨在提升模型生成SQL/MQL的准确性和可解释性,尤其是在面对复杂业务场景时。

2. 为什么要配置知识

  1. 提升模型理解能力:通过配置业务知识,模型能够更好地理解业务领域的特定术语、逻辑和规则,从而生成更准确的MQL语句;
  2. 应对复杂业务场景:在业务逻辑复杂、数据模型不规范或多义词存在的情况下,配置知识可以帮助模型避免生成错误的MQL
  3. 增强模型泛化能力:通过合理的知识配置,模型能够在面对新问题时,基于已有知识进行推理,提升泛化能力;
  4. 减少人工干预:通过配置知识,减少模型生成MQL后的人工修正工作,提升自动化程度。

3. 知识配置基本原则

3.1 配置原则

  1. 避免过度配置:不要过度依赖业务知识,避免让模型过于依赖外部知识而失去泛化能力。业务知识应作为辅助,而不是主导。
  2. 准确性:确保业务知识的准确性和时效性,错误或过时的业务知识会导致模型生成错误的SQL语句。
  3. 简洁性:业务知识应尽量简洁明了,避免过于复杂的描述。过于复杂的知识可能会增加大模型的推理负担,降低生成SQL&Python的准确性。

3.2 前提条件

4. 知识分类及配置方法

4.1 知识分类

  1. 行业术语(名词):当行业业务领域有特定的术语或缩写时,需要配置业务知识来帮助模型理解这些术语的含义。例如,在金融领域“ROI”代表“投资回报率”。
  2. 业务逻辑:当业务逻辑复杂且不易通过简单的自然语言描述时,配置业务知识可以帮助模型更好地理解并生成正确的SQL
  3. 多义词:当自然语言问句中的词汇有多重含义时,配置业务知识可以帮助大模型选择正确的解释。例如,股票“交易量”可以“交易数量”,也可以指“交易金额”。
  4. 业务规则:当业务有特定的规则或约束时,配置业务知识可以确保生成的SQL符合这些规则。例如,某些维度只能取特定的值,模型维度要剔除一些值。
  5. 专有词库:若问句无法命中知识,分析后是分词的原因,需要提供自定义专有词库。

知识分类参考:

序号

知识类型

分类描述

细分分类

细分描述

1

业务知识

代表业务术语、业务含义、业务同义词,业务转换等

专业术语与定义类

指定义业务术语含义等业务知识,用于统一专业知识,便于大模型理解匹配指标;

2

业务基础指标类

指针对核心业务指标计算公式(如比率类、汇总类)提供的统计逻辑;

3

定制知识

除却包含业务含义之外,需要按照制定逻辑执行业务需求。

数据清洗与填充类

指对数据质量条件的预处理:如空值填充(如空值转0)、数据去重(如剔除空用户编号)等;

4

关键词执行规则类

  1. 指出现特定关键词后执行计算的步骤或需指定的返回的内容:(如""触发乘100);
  2. 模糊匹配逻辑。

5

时间维度类

  1. 指定义时间范围(如“本月”指上个月)(如近半年推7个月)及时间相关时间字段(如实收时间)的过滤逻辑;
  2. 上周:当统计上周指标时,时间条件设置“年周”=上周

6

系统知识

代表系统默认配置的一些知识。

开发约束与规范类

指规定代码实现的边界条件(如禁止返回JSON_SQL)、表关联方式(仅LEFT JOIN)及字段严格匹配要求,以及其他系统需要默认配置的知识。


4.2 配置方法

  1. 知识名称:key,能否命中知识与key高度相关,可用分号分隔key,如:(销售人员;客户经理),避免出现“情况”、“明细”、特殊字符(_%?*等)。
  2. 知识内容:即知识涵盖的详细信息,知识也是提示词的来源,该部分内容如果问句命中知识,会纳入提示词,由大模型进行理解学习。一般采用句式:
  3. 是否启用:分三个状态
  4. 嵌入问句:

4.3 配置示例

业务方面,满足以下场景情况需配置知识:

知识名称

知识内容

启用状态

用户分布

用户分布是指“用户数”

启用

销售人员;客户经理

(销售人员;客户经理)是指“客户经理”

启用

姓名

问句中涉及到**姓名**字眼时,**姓名**是指用户名称

启用

知识名称

知识内容

启用状态

当月;本月

(当月;本月)指上个月的月初到月末

启用

诉求

是指受理业务类别不为空

启用

去年12月份,150万-200万资产客户有哪些,他们持有产品的类型有哪些,分别持仓多少

问句:去年12月份,150万-200万资产客户有哪些,他们持有产品的类型有哪些,分别持仓多少
拆分实现步骤:
1. 第一步:筛选出2023年12月份,资产规模在150万到200万之间的客户编码。
2. 第二步:基于第一步筛选出的客户编码,查询他们持有的所有产品类型及其持仓情况。

启用

知识名称

知识内容

启用状态

缴费;现金缴费用户数

当问句中涉及**缴费**字眼时,根据**实收日期**来做时间条件

启用

工商业;一般工商业

(工商业;一般工商业)是指用电类别为:工商业及其它用电、普通工业和商业

启用


5. 知识上架流程

  1. 知识采集:由知识团队获取业务知识;
  2. 知识评审:由技术专家和业务专家参与评审,对知识进行权威性认证;
  3. 测试与验证:在测试环境中配置业务知识后,充分测试和验证,确保生成的SQL&Python符合预期。通过人工审核或自动化测试来验证,保持稳定。
  4. 知识发布:将该知识发布到生产环境,并测试验证。