最近参加一个竞赛,大模型根据规则内容做单选题。典型的RAG应用。
采用几乎纯工程方式实现,如下图:

一、数据预处理阶段
- 同义词替换
- 罗马数字 -> 阿拉伯数字
- 半角符号 -> 全角符号
- 遇难 -> 死亡
- ……
- 最长公共子串生成
- question & rules
- 问题与选项切割
- sentence embedding(BAAI/bge-m3)
二、召回阶段
- 三路召回+权重RRF融合
- TF·IDF
- BM25
- embedding
三、 问答阶段
- 三路投票
- internlm2.5-7b
- qwen2-7b-instruct
- llama3.1-8b-instruct
四、总结
这一套操作下来,遗憾的是,在RAG卷上天的今天,并没有走到决赛,据说第一名的方案是大模型六路投票……三路的甘拜下风,但不得不说这种做法确实很“竞赛”,由于成本太高,这种方式怕是很难应用到工业界。
下来之后折腾了未选择之路-大模型微调:RAG单选题-大模型微调实验,为后续的工作开展积累一点点教训,踩踩坑。
发表回复