前言
构建一个 RAG(检索增强生成)系统,通常会先用向量化模型从知识库中召回相关段落,再用重排序模型优化顺序,最后把最相关的段落送入大语言模型生成答案。
这就需要向量化模型和重排序模型。
向量化(Embedding)
只要你做「语义检索」「相似匹配」,就必须用。
向量化模型只是把相近的都检索出来不会进行排序。
适用场景
- 知识库问答(RAG)
- 推荐系统(相似商品 / 相似内容)
- 搜索:从一堆文本里找语义最相关的
- 去重、聚类、分类
核心作用
把文字变成向量,用余弦相似度快速找出最相关的内容。
什么时候不用
- 纯关键词匹配( ElasticSearch 简单检索)
- 规则匹配、固定问答
- 数据量极小(几十条)
重排序模型(Reranker)
在向量检索之后用,做「精排」。
适用场景
- RAG 召回后精排
- 搜索结果精排
- 推荐精排
核心作用
- 向量检索是粗排(快,但不准)
- 重排序是精排(慢一点,但极准)
典型流程
- 用向量库召回 Top50~Top200(粗排)
- 用重排序模型打分,取 Top3~Top10(精排)
- 丢给大模型生成答案
总结
- 向量化 = 快速从海量数据里捞出一批候选
- 重排序 = 从候选里挑出最相关的几个
使用规则
- 数据量 < 100:不用向量,不用重排
- 数据量 100~1 万:向量检索即可,可不用重排
- 数据量 > 1 万 或 追求准确率:向量 + 重排 必须一起用