...
- 提升模型理解能力:通过配置业务知识,模型能够更好地理解业务领域的特定术语、逻辑和规则,从而生成更准确的MQL语句;
- 应对复杂业务场景:在业务逻辑复杂、数据模型不规范或多义词存在的情况下,配置知识可以帮助模型避免生成错误的MQL;
- 增强模型泛化能力:通过合理的知识配置,模型能够在面对新问题时,基于已有知识进行推理,提升泛化能力;
- 减少人工干预:通过配置知识,减少模型生成MQL后的人工修正工作,提升自动化程度。
3. 知识配置基本原则
3.1 配置原则
- 避免过度配置:不要过度依赖业务知识,避免让模型过于依赖外部知识而失去泛化能力。业务知识应作为辅助,而不是主导。
- 准确性:确保业务知识的准确性和时效性,错误或过时的业务知识会导致模型生成错误的SQL语句。
- 简洁性:必要性原则:
- 只配置大模型无法正确理解的知识
- 优先通过模型自身能力解决问题
- 最小化原则:
- 用最简洁的语言表达知识
- 限定最小适用范围
- 避免包含无关信息
- 准确性原则:业务知识应尽量简洁明了,避免过于复杂的描述。过于复杂的知识可能会增加大模型的推理负担,降低生成SQL&Python的准确性。
- 确保知识内容描述准确
- 定期验证知识有效性
- 一致性原则:
- 同类知识采用统一表述方式,如条件允许,尽量将同类知识合并在一条知识中
- 避免知识间矛盾冲突
- 泛化性原则:
- 设计可类推的知识结构
- 避免针对特定问句的定制
3.2
...
配置流程。
4. 知识分类及配置方法
4.1 知识分类
- 行业术语(名词):当行业业务领域有特定的术语或缩写时,需要配置业务知识来帮助模型理解这些术语的含义。例如,在金融领域“业务术语:业务领域特定的术语或缩写时,需要配置业务知识来帮助模型理解这些术语的含义、计算等内容。例如,在金融领域“ROI”代表“投资回报率”。
- 业务逻辑:当业务逻辑复杂且不易通过简单的自然语言描述时,配置业务知识可以帮助模型更好地理解并生成正确的SQL。
- 多义词:当自然语言问句中的词汇有多重含义时,配置业务知识可以帮助大模型选择正确的解释。例如,股票“交易量”可以“交易数量”,也可以指“交易金额”。
- 业务规则:当业务有特定的规则或约束时,配置业务知识可以确保生成的SQL符合这些规则。例如,某些维度只能取特定的值,模型维度要剔除一些值。 专有词库:若问句无法命中知识,分析后是分词的原因,需要提供自定义专有词库。
知识分类参考:
...
序号
...
知识类型
...
分类描述
...
细分分类
...
细分描述
...
1
...
业务知识
...
代表业务术语、业务含义、业务同义词,业务转换等
...
专业术语与定义类
...
指定义业务术语含义等业务知识,用于统一专业知识,便于大模型理解匹配指标;
...
2
...
业务基础指标类
...
指针对核心业务指标计算公式(如比率类、汇总类)提供的统计逻辑;
...
3
...
定制知识
...
除却包含业务含义之外,需要按照制定逻辑执行业务需求。
...
数据清洗与填充类
...
指对数据质量条件的预处理:如空值填充(如空值转0)、数据去重(如剔除空用户编号)等;
...
4
...
关键词执行规则类
...
- 指出现特定关键词后执行计算的步骤或需指定的返回的内容:(如"率"触发乘100);
- 模糊匹配逻辑。
...
5
...
时间维度类
...
- 指定义时间范围(如“本月”指上个月)(如近半年推7个月)及时间相关时间字段(如实收时间)的过滤逻辑;
- 上周:当统计上周指标时,时间条件设置“年周”=上周
...
6
...
系统知识
...
代表系统默认配置的一些知识。
...
开发约束与规范类
...
指规定代码实现的边界条件(如禁止返回JSON_SQL)、表关联方式(仅LEFT JOIN)及字段严格匹配要求,以及其他系统需要默认配置的知识。
...
- 代码知识:防止大模型生成的代码出现错误、缺失,或者要求大模型按照我们指定方法来生成代码等。
4.2 配置方法
- 知识名称:即key,能否命中知识与key高度相关,可用分号分隔key,如:(销售人员高度相关,可用英文分号分隔key中的关键词,如:(销售人员;客户经理),避免出现“情况”、“明细”、特殊字符(_%?*等)。
- 知识内容:即知识涵盖的详细信息,知识也是提示词的来源,该部分内容如果问句命中知识,会纳入提示词,由大模型进行理解学习。一般采用句式:
- “XXX”是指“XXXX”:,
- 当问句涉及或问到“XXX”,进行如下处理:xxx,
- 具体写法可参照1配置原则;
- 是否启用:分三个状态
- 启用:常用状态,知识默认启用。
- 禁用:弃用知识可选择禁用,或者删除。
- 必选:设置必须,该知识优先级高于启用。必选:设置必选,该知识将作用于该模型的所有问句。
- 嵌入问句:
- 是:嵌入问句是每个问句都会带上该知识,一般不用嵌入问句;
- 否:正常业务知识不用嵌入问句;是:嵌入问句是将知识放入重要知识中。
- 否:该知识放入额外知识中;
在提示词中,重要知识的位置距离问句近,效果较好。在系统中要合理规范嵌入式知识的数量,避免过多导致的效果下降。
4.3 配置示例
业务方面,满足以下场景情况需配置知识:
...
知识名称 | 知识内容 | 启用状态 | |||
---|---|---|---|---|---|
当月;本月 | (当月;本月)指上个月的月初到月末 | 启用 | |||
诉求 | 是指受理业务类别不为空 | 启用 | 去年12月份,150万-200万资产客户有哪些,他们持有产品的类型有哪些,分别持仓多少 | 问句:去年12月份,150万-200万资产客户有哪些,他们持有产品的类型有哪些,分别持仓多少 | 启用 |
- 同词根-多词组-不同义词或容易产生歧义的指标:如果各个单位能统一口径可以配置知识,如果不能就不配置知识,由系统反问;
...