一场 AI 独角兽的面试把 RAG 的深浅问了出来,答不上来的那题很典型。
题目照录。面试官靠在椅背上发问,智能客服里用户张口就要苹果最新款手机的价,可检索把库里红富士苹果每斤的批发排到了最前面。难题给了,这局面怎么彻底翻过来。心里那句吐槽也留着,这能怪谁,词向量聚类分不清水果和手机,要讲理找 OpenAI 和算法团队去,别拿一个做应用的出气。
嘴上蹦出来的只有两个补丁,往上换更大的 Embedding 模型行不行?或者把文本切块切得再碎些?面试官笑了笑,换到最大的模型也白搭,苹果就是苹果,语义照样发散,回去看看工业界怎么把关键词搜索和语义搜索拧到一起。
当晚请教完,落点才清楚。Dense 向量检索天生分不清专有名词和具体型号,这一条与模型大小无关。生产级的路子是把两套召回合着用,向量算余弦,BM25 管关键词精确命中,最后再让一个 Reranker 交叉编码过一遍打分。红富士手机那个笑话,标准的止血方案就是这一套。
"苹果就是苹果"这半句是场重心。前面聪明体现在哪讲的是模型缺的是提醒,这条讲的是检索缺的是结构。跟前面那份数据对照实验呼应,那条在训练侧控制变量,这条在推理侧补结构。两头都在提醒同一件事,能跑通的原型和能上生产的方案之间,隔着的从来不是模型大小。跟前面验收那步留着也接得上,检索错了要人验收,验收靠的就是这层结构化的设计。
心里和嘴上那两句反差我单独拎出来,它把应用工程师的窘境写活了,怪模型是本能,认结构才是专业。
我留的疑问有三处。混合检索的权重怎么配没给;Reranker 的选型没拆;题目之外的追问也没数,这些都在面试全长里才看得到。
这周拿自己项目里的检索排一遍,专有名词的召回率先量出来再说。
65 浏览 0 评论
0 反应















