工具调用/数学计算场景
此场景广泛应用于数据分析、财务计算、以及Agent调用外部工具前的参数提取与组装阶段。模型需要根据用户的复杂指令,通过严密的逻辑推导,最终得出一个精确的数值或结构化参数。
典型应用示例:物流运费计算Agent
- 用户输入:发一批设备,总重量8.5吨,运输距离400公里。基础运费是每吨每公里1.2元,另外还需要加上300元的固定装卸费。请问总费用是多少?
- 期望输出:4380
- 下游任务:将该数值作为参数,传递给计费确认组件或生成订单账单。
该类场景在进行数学计算或者参数提取时,往往隐藏着多步逻辑嵌套。大模型本质是概率预测模型,直接让其一次性算术结果,极易出现低级运算错误。必须经过多个步骤拆解计算才能得出正确结果。并且对于存在小数点误差的计算场景,标准答案和模型实际计算结果存在误差,直接按照字符串比对,会导致模型在训练过程中明明给出了数学上正确的答案,却持续遭受负分惩罚,产生错误的奖励信号。
数据集构造示例
构造数据集时,不需要刻意设计复杂的拒识案例或意图模糊的干扰项,只需提供指令清晰的正向用例即可。
| 用户输入 | 期望输出 |
|---|---|
| 发一批设备,总重量8.5吨,运输距离400公里。基础运费1.2元/吨每公里,固定装卸费300元。总费用? | 4380 |
| 圆柱底面半径3米,高400厘米,体积是多少(π取3.14) | 113.04 |
| 货物重15吨,距离200公里。5吨以下单价 2元,5-10吨单价1.8元,10吨以上单价1.5 元。总运费? | 4500 |
| 仓库A到B距离150公里,货物重4吨,运费单价2元/吨每公里,无附加费。总运费? | 1200 |
奖罚机制配置示例
采用“数学准确性奖励 + 思维链格式奖励”组合,确保计算准确性和格式规范性。
| 奖励规则 | 权重 | 正则表达式 | 说明 |
|---|---|---|---|
| 规则奖励 > 数学准确性奖励 | 0.7 | (\d+\.?\d*)\D*$ 或不填写,对整个输出结果进行校验 | 使用通用正则(\d+\.?\d*)提取文本中的数值,\D*$表示只抓取全文的最后一个数值。 |
| 思维链格式奖励 | 0.3 | ^前置引导词[\s\S]+?结论引导词\s*[\s\S]+$ | 思维链格式奖励会依据正则表达式判断模型的输出格式是否合格。用于强制模型必须按照提示词(Prompt)中约定的格式先推导、后回答。输出【分析步骤】,最后输出【最终结果】,则可以使用类似^前置引导词[\s\S]+?结论引导词\s*[\s\S]+$的正则表达式对模型结果进行筛选。 |