SFT-高效训练模型
📌弃用SqlBot、后训练模型直接输出sql到水果通检索
基础模型:Qwen3-8B
训练集(数据量:381):智能问数日志集合>V2
训练总量:779,520 tokens
正确示例:



错误示例:



问题汇总
Sqlbot边界化
📌减少什么都回答,只做高频问题回答
模板1:查验率查询 (~80 条,最高频)
固定结构:口岸 + 商品 + 时间范围 → 查验率/查验数/总数
代表问题:
"本周友谊关榴莲查验率"(Q6/8/11/12/130)
"今天磨憨的查验率"(Q131)
"南沙和蛇口的山竹查验率"(Q92/102)
"越南椰青查验率"(Q171/175)
"广西各个口岸榴莲查验率"(Q97/98)
参数:{口岸} {商品} {时间范围} {原产国(可选)}
模板2:柜量统计 (~120 条,最大量)
固定结构:客户/商品/口岸/国家/运输方式 + 时间范围 → SUM(柜量)
代表问题:
"佳农2025年业务量"(Q23/205)
"去年天津做了多少柜量"(Q4)
"2026年超过100柜的客户排名"(Q9/10)
"1月份樱桃业务量"(Q44/47/49)
"顺禾去年柜量和今年柜量"(Q569/641/642)
"2025年欧恒全年做了多少鲜榴莲"(Q186/189)
参数:{客户名(可选)} {商品(可选)} {口岸(可选)} {原产国(可选)} {运输方式(可选)} {时间范围} {分组维度(可选)}
模板3:柜号查询 (~60 条)
固定结构:柜号 → 业务信息/状态/费用/单证
代表问题:
"ONEU9267400 什么时候靠港"(Q151/160)
"OERU4308304卸船了吗"(Q512-516/519)
"BMOU9301898单证金额多少"(Q590/604/608/673)
"FSCU5321527卸船时间"(Q547-549)
"CGOU9025259消费使用单位"(Q507-511/520)
"CICU6006194完整详细信息"(Q598/599)
参数:{柜号} {查询类型:基本信息/卸船状态/单证/费用/放行}
模板4:客户业务员查询 (~15 条)
固定结构:客户名 → 对应业务员
代表问题:
"煜谦这家客户的销售是谁"(Q34)
"天天鲜果的销售是谁"(Q39)
"泰丰绿创的业务员是谁"(Q685-690,问了6遍!)
"委托客户是三永的业务员是谁"(Q677)
参数:{客户名}
模板5:税率查询 (~20 条)
固定结构:商品 + 原产国 → 增值税率/关税/优惠关税
代表问题:
"智利樱桃的税率是多少"(Q5/16/22/28-30/62/204,问了8遍!)
"泰国冻榴莲肉关税是多少"(Q162/164)
"阿根廷樱桃有关税吗"(Q499)
"商品税率"(Q664)
参数:{商品} {原产国(可选)}
模板6:费用明细查询 (~20 条)
固定结构:柜号/业务编号 → 费用拆解
代表问题:
"OTPU6758663这柜的税金是多少"(Q181)
"26LY03533的运费、关税、增值税、保险费明细"(Q674)
"FSCU5927556的单证费用明细"(Q675)
"友谊关到嘉兴的费用明细"(Q644-648)
参数:{柜号/业务编号}
模板7:到港预测/船期查询 (~20 条)
固定结构:船名/柜号 → 预计靠港时间
代表问题:
"船名Cosco Philippines预计靠港时间"(Q634-639,问了6遍)
"佳农最近一柜泰国鲜榴莲什么时候到"(Q68)
"最近的一柜鲜榴莲是到哪个口岸"(Q103)
"蛇口口岸未来一周到港集装箱数量"(Q657)
参数:{船名(可选)} {柜号(可选)} {口岸(可选)} {时间范围(可选)}
模板8:协议到期查询(~5 条)
固定结构:时间范围 → 即将到期协议列表
代表问题:
"那些协议下个月即将到期"(Q3)
"佳农最新代理协议"(Q63)
参数:{时间范围} {客户(可选)}
字段知识库化
📌RAG匹配{用户.提问}相关字段,向量检索+sql生成
步骤思路
Step 1:RAG 检索相关字段
用户提问 → Embedding → 向量库 → top-K 字段
Step 2:LLM 提取查询参数
时间范围、客户名、口岸、聚合类型
Step 3:Python 模板引擎生成 SQL
不依赖 LLM 生成完整 SQL
SQL 模板 + 参数替换
Step 4:执行 SQL + 返回结果