Note
搜索系统与 RAG 有什么区别?
从目标、输出、系统流程和评估方式比较搜索与检索增强生成。
了解搜索系统吗?和RAG有什么区别?
是的,我了解搜索系统。搜索系统和RAG系统关系紧密,但它们的目标和最终产出有本质的区别。可以说,RAG系统是构建在搜索系统之上的一个更高级的应用。
搜索系统 (Search System) - 例如 Google Search, Elasticsearch
- 核心目标: 信息检索(Information Retrieval)。它的任务是,根据用户的查询,从一个大规模的文档集合中,找到并返回一个排序好的文档列表(a ranked list of documents)。
- 最终产出: “源”。它提供的是“可能包含答案的原材料”,用户需要自己去点击链接、阅读文档、并从中自己总结出答案。
- 核心技术: 索引技术(如倒排索引)、排序算法(如BM25, PageRank, TF-IDF)、查询理解和扩展。
RAG系统 (Retrieval-Augmented Generation System)
- 核心目标: 问题回答(Question Answering)。它的任务是,根据用户的查询,直接提供一个精准的、对话式的、综合性的自然语言答案。
- 最终产出: “答案”。它利用检索到的“源”作为事实依据,但最终交付的是一个经过综合、提炼和总结后的成品。
- 核心技术: 它包含了一个搜索系统作为其“检索”模块,但更关键的是,它增加了一个大型语言模型(LLM)作为其“生成/合成”模块。
最关键的区别:
| 特征 | 搜索系统 | RAG系统 |
|---|---|---|
| 任务 | 找文档 (Find Documents) | 给答案 (Give Answers) |
| 输出 | 文档列表 (List of sources) | 自然语言答案 (Synthesized answer) |
| 用户角色 | 用户是主动的,需要自己阅读和总结 | 用户是被动的,直接获得成品答案 |
| 核心组件 | 索引器 + 排序器 | [索引器 + 排序器] + 生成器(LLM) |
一个简单的比喻:
- 搜索系统就像一个图书馆的图书管理员。你问他“新加坡的历史”,他会告诉你:“关于这个主题,3楼A区的第5、6、8本书,还有4楼C区的期刊都很有用,你自己去看看吧。”
- RAG系统就像一个历史学专家。你问他同样的问题,他会去图书馆查阅那些书籍和期刊,然后直接告诉你:“新加坡的历史可以概括为以下几个关键时期…,这些信息主要参考了《新加坡史》和《近代东南亚》这几本书。”