现在搜索通常分三步:召回 → 精排 → 重排。
1、语义匹配(Semantic Matching)。
核心思想:不匹配“词”,而匹配“意思”。
做法:把文本转成向量(Embedding)
比如:“孩子发烧怎么办”“儿童高烧如何处理”
关键词不同,语义接近,向量距离很近。
这一步:通常用 Transformer 模型生成 embedding。
2、向量检索(Vector Retrieval)。
当所有文档都被转成向量后:用户问题 → 也转成向量→ 在向量数据库中找“最近邻”
这一步:通常用:HNSW、FAISS、Milvus。
HNSW 是一种算法,FAISS 是包含该算法的库,Milvus 是基于这类库 / 算法构建的企业级向量数据库。
本质: 高维空间找最近点。
这叫:“语义召回”。
3、大模型重排序(LLM Re-ranking)。
召回出来可能有 100 条候选。接下来:用大模型判断:哪条最符合用户意图?
例如:
模型输入:
用户问题 + 候选答案1
打分
再输入:
用户问题 + 候选答案2
打分
重新排序。
这一步:叫重排序(Re-ranking)。
小结。
(1)三步的作用分工。
阶段 作用 技术
召回 找可能相关 向量搜索
精排 提高精度 深度模型
重排 理解上下文 大模型
(2)现代搜索本质升级。
从:关键词匹配
变成:语义理解 + 向量空间计算 + 大模型判断