AI项目组
AI项目组
发布于 2026-08-18 / 4 阅读
0
0

智能问数改进方案

SFT-高效训练模型

📌弃用SqlBot、后训练模型直接输出sql到水果通检索

基础模型:Qwen3-8B

训练集(数据量:381):智能问数日志集合>V2

训练总量:779,520 tokens

正确示例:

错误示例:

问题汇总

问题点

解决方式

时间概念模糊❌返回错误

提示词强约束(今天=几月几号)

字段幻觉❌sql错误

增加高频字段白名单护栏、增加过多=sqlbot

训练数据不足

AI扩样、长期收集

训练方式+部署费用

1000条数据单次训练60~100元

模型部署后按token计费

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 + 返回结果

方案对比

维度

纯 LLM NL2SQL

RAG 字段 + LLM 生成

RAG 字段 + 模板生成

对应方案

方案1

方案2(现行缩量)

方案3

智能程度

最高

SQL 语法正确率

中(LLM 幻觉)

最高(模板)

字段瞎编

极低

覆盖度

最高

中(受模板)

维护成本

实施复杂度

推理性能

慢~30s

慢~40s

快~20s


评论