页面树结构
转至元数据结尾
转至元数据起始

1. 什么是知识

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

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

2. 为什么要配置知识

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

3. 知识配置基本原则

3.1 配置原则

  1. 必要性原则:
    1. 只配置大模型无法正确理解的知识
    2. 优先通过模型自身能力解决问题
  2. 最小化原则:
    1. 用最简洁的语言表达知识
    2. 限定最小适用范围
    3. 避免包含无关信息
  3. 准确性原则:业务知识应尽量简洁明了,避免过于复杂的描述。过于复杂的知识可能会增加大模型的推理负担,降低生成SQL&Python的准确性。
    1. 确保知识内容描述准确
    2. 定期验证知识有效性
  4. 一致性原则:
    1. 同类知识采用统一表述方式,如条件允许,尽量将同类知识合并在一条知识中
    2. 避免知识间矛盾冲突
  5. 泛化性原则:
    1. 设计可类推的知识结构
    2. 避免针对特定问句的定制

3.2 配置流程。

4. 知识分类及配置方法

4.1 知识分类

  1. 业务术语:业务领域特定的术语或缩写时,需要配置业务知识来帮助模型理解这些术语的含义、计算等内容。例如,在金融领域“ROI”代表“投资回报率”。
  2. 代码知识:防止大模型生成的代码出现错误、缺失,或者要求大模型按照我们指定方法来生成代码等

4.2 配置方法

  1. 知识名称:key,能否命中知识与key高度相关,可用英文分号分隔key中的关键词,如:(销售人员;客户经理),避免出现“情况”、“明细”、特殊字符(_%?*等)。
  2. 知识内容:即知识涵盖的详细信息,知识也是提示词的来源,该部分内容如果问句命中知识,会纳入提示词,由大模型进行理解学习。一般采用句式:
    • XXX”是指“XXXX”:,
    • 当问句涉及或问到“XXX”,进行如下处理:xxx
    • 具体写法可参照1配置原则;
  3. 是否启用:分三个状态
    • 启用:常用状态,知识默认启用。
    • 禁用:弃用知识可选择禁用,或者删除。
    • 必选:设置必选,该知识将作用于该模型的所有问句。
  4. 嵌入问句:
    • 是:嵌入问句是将知识放入重要知识中。
    • 否:该知识放入额外知识中;

          在提示词中,重要知识的位置距离问句近,效果较好。在系统中要合理规范嵌入式知识的数量,避免过多导致的效果下降。

4.3 配置示例

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

  • 存在同义词:尽可能列举相同含义但是不同问法的词语;

知识名称

知识内容

启用状态

用户分布

用户分布是指“用户数”

启用

销售人员;客户经理

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

启用

姓名

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

启用

  • 业务上特有的规范:一般是业务规则/规范,或则按照一定业务规则执行。

知识名称

知识内容

启用状态

当月;本月

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

启用

诉求

是指受理业务类别不为空

启用

  •  同词根-多词组-不同义词或容易产生歧义的指标:如果各个单位能统一口径可以配置知识,如果不能就不配置知识,由系统反问;

知识名称

知识内容

启用状态

缴费;现金缴费用户数

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

启用

工商业;一般工商业

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

启用


5. 知识上架流程

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




  • 无标签