公司真题库

【美团】RAG 知识库选择了什么模型?调研过哪些模型?

91学AI·2026/7/26·10 阅读

考察点

这道题出自美团后端 Agent 开发岗位一面,通常接在「介绍你做过的 RAG 项目」之后。面试官想确认两件事:一是你的模型选型是有依据的决策,不是随便抄了个默认配置;二是你有真实的调研广度和评测方法,知道业界主流选项各适合什么场景。追问一般会往「怎么验证效果」「为什么不用 OpenAI 的」「rerank 加了有多大提升」这些方向走。

参考答案

先讲清楚要选型的是哪几个模型

RAG 里涉及选型的不止一个模型,面试时我会先拆开讲,显得对全链路有概念:一是 embedding 模型,负责把文档 chunk 和用户 query 编码成向量;二是 rerank 模型,对粗排结果做精排,通常是 cross-encoder 架构;三是生成侧的 LLM。这道题考的主要是前两个。

我实际选了什么,为什么

以中文为主的业务场景,我的默认组合是 BGE-M3 做 embedding + bge-reranker-v2-m3 做 rerank,都是智源(BAAI)开源的。

选 BGE-M3 的理由很实际:多语言支持好,中英文混合语料不用换模型;输出 1024 维稠密向量,最长支持 8192 token 的输入,长文档 chunk 不用截断;而且它一个模型同时产出稠密向量、稀疏向量(类 BM25 的词权重)和多向量(ColBERT 式),可以做混合检索,相当于一个模型把稠密召回和关键词召回都覆盖了。开源、可自部署,数据不出内网,这对公司场景基本是硬性要求。

rerank 用 bge-reranker-v2-m3,cross-encoder 结构,query 和候选文档拼在一起过模型算相关性分数,比 embedding 的双塔余弦相似度精细得多。代价是不能全库跑,只对粗排的 top 20-50 个候选精排。

调研过哪些,怎么对比的

embedding 侧我调研过的主流选项:

模型特点适用场景
BGE-M3多语言、8192 长度、混合检索中文为主、需自部署,我的首选
OpenAI text-embedding-3-large3072 维,效果好,英文强数据可出境、不想维护推理服务
GTE / gte-Qwen2阿里系,多语言,MTEB 排名靠前备选方案
M3E早期中文常用已被 BGE 系列超越,历史项目
Jina embeddings v3长文本、多语言长文档场景备选

调研方法上我强调两点:一是看公开榜单只看个大概——MTEB、C-MTEB 的排名能筛掉明显不行的,但榜单分数和你的业务数据相关性有限;二是必须自建评测集实测。做法是收集 100-300 条真实业务 query,每条人工标注相关文档(或从历史点击日志挖),然后跑各候选模型算 Recall@10、MRR 这类指标。往往榜单第二第三的模型在你的垂类语料上反而更好,比如法律、医疗文本和通用语料差异很大。

rerank 侧对比过 bge-reranker-v2-m3、bge-reranker-large,以及直接用 LLM 做相关性打分。结论是专用 rerank 模型性价比最高:比粗排召回直接喂 LLM 的准确率提升明显(常见几个点的命中率提升),又比 LLM 打分便宜一两个数量级。

决策时还要交代的非技术指标

面试官很吃这一套:说明你的选型考虑了工程约束。包括——推理成本(BGE-M3 自部署一张消费级显卡就能扛中小规模 QPS)、license(BGE 系列 MIT 可商用)、运维成本(API 方案省事但有网络延迟和稳定性风险)、数据合规(内部文档不能出内网基本一票否决 API 方案)。

可能的追问

  • embedding 和 rerank 为什么是两阶段,不能一步到位? 答:双塔 embedding 把文档离线算好向量存起来,查询时一次编码加 ANN 检索,毫秒级;cross-encoder 要 query 和每个文档联合编码,全库跑成本不可接受,所以只能对粗排的几十个候选用。
  • 怎么验证你的选型真的更好? 答:建带标注的评测集算 Recall@K 和 nDCG;上线后看业务指标,比如 RAG 回答的采纳率、用户改写重问率。
  • 向量维度 1024 和 3072 差别大吗? 答:精度差异没有维度数字看上去那么大,但存储和检索成本差 3 倍;百万级 chunk 以上就要认真权衡,也可以看模型是否支持维度截断(如 text-embedding-3 的 Matryoshka 特性)。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.