我从零构建了一个 RAG 搜索引擎,以了解现代搜索的真实工作原理

发布: (2026年2月26日 GMT+8 12:16)
3 分钟阅读
原文: Dev.to

Source: Dev.to

概览

大家都在构建 RAG 应用,但大多数教程都会跳过最关键的部分——搜索质量。
我没有直接套用框架,而是从零实现了自己的 RAG 搜索引擎,以深入了解检索系统的内部工作原理。

完整的拆解视频可在这里观看:

  • YouTube 视频:
  • 源代码:

实现的检索技术

传统关键词搜索

  • 词频 (TF)
  • 逆文档频率 (IDF)
  • BM25 评分

这些技术说明了传统关键词搜索在生产系统中仍然极其强大的原因。

稠密语义检索

  • 基于嵌入的表示
  • 余弦相似度用于基于意义的匹配

能够处理:

  • 同义词
  • 上下文变化
  • 概念相似性

混合排序

通过以下方式结合关键词和语义信号:

  • 加权融合
  • 互惠排名融合 (RRF)

这与现代生产搜索系统相吻合,能够在精确度和语义理解之间取得平衡。

重排序阶段

在检索到顶部结果后,重排序模型对查询‑文档对进行更深入的评估,显著提升相关性和精确度。

评估指标

  • 精确率
  • 召回率
  • F1 分数
  • 手动评估
  • 以 LLM 为评判者的评估

这些指标提供了检索性能的全方位视图。

多模态检索

尝试了文本 + 图像检索,使用基于嵌入的相似度,将引擎的能力扩展到纯文本搜索之外。

与 LLM 的集成 (RAG)

将混合检索系统连接到大型语言模型,以生成有依据的响应。
关键要点: 更好的检索 > 更大的模型。

经验教训

  • 检索质量是 RAG 流程中最困难、最关键的环节。
  • 混合系统始终优于纯关键词或纯语义方法。
  • 重排序显著提升精确度。
  • 适当的评估(包括量化指标和定性判断)是获得可信结果的前提。
  • 设计搜索系统需要在延迟、索引大小和相关性之间做权衡。

感兴趣的话题

如果你对以下任意主题感兴趣,欢迎交流:

  • 搜索引擎
  • 信息检索
  • RAG 系统
  • AI 系统设计
  • 混合搜索架构

期待听到你的想法——你会改进或探索哪些方向? 👇

0 浏览
Back to Blog

相关文章

阅读更多 »