# 分享:搜索与RAG - [一、只聊搜索](#%E4%B8%80%E3%80%81%E5%8F%AA%E8%81%8A%E6%90%9C%E7%B4%A2) - [1.1 搜索的三种方式](#1.1%20%E6%90%9C%E7%B4%A2%E7%9A%84%E4%B8%89%E7%A7%8D%E6%96%B9%E5%BC%8F) - [1.2 搜索的典型步骤](#1.2%20%E6%90%9C%E7%B4%A2%E7%9A%84%E5%85%B8%E5%9E%8B%E6%AD%A5%E9%AA%A4) - [1.3 评价指标](#1.3%20%E8%AF%84%E4%BB%B7%E6%8C%87%E6%A0%87) - [1.4 搜索引擎的历史](#1.4%20%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E7%9A%84%E5%8E%86%E5%8F%B2) - [二、聊聊 RAG 和上下文工程](#%E4%BA%8C%E3%80%81%E8%81%8A%E8%81%8A%20RAG%20%E5%92%8C%E4%B8%8A%E4%B8%8B%E6%96%87%E5%B7%A5%E7%A8%8B) - [三、Dify 中的概念抽象](#%E4%B8%89%E3%80%81Dify%20%E4%B8%AD%E7%9A%84%E6%A6%82%E5%BF%B5%E6%8A%BD%E8%B1%A1) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99) ## 一、只聊搜索 | 元数据 | 文本 | 向量 | | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | | {"id": 1, "source": "user_input", "timestamp": "2024-03-15"} | 北京三日游可以这样安排:第一天上午游览天安门广场感受首都的庄严氛围,然后进入故宫博物院深度探索这座世界最大的古代宫殿建筑群,下午登上景山公园俯瞰故宫全景,傍晚在南锣鼓巷或什刹海体验老北京胡同文化并品尝地道小吃;第二天清晨前往八达岭长城或慕田峪长城感受"不到长城非好汉"的豪迈,下午返城后游览颐和园欣赏皇家园林的精致与大气,晚上可以去王府井大街购物或品尝北京烤鸭;第三天上午参观天坛公园观看当地人晨练并了解古代祭天文化,随后前往雍和宫感受藏传佛教的神秘氛围,下午游览北京胡同深处的恭王府体验王府文化,或者选择去798艺术区感受现代艺术气息,晚上在三里屯或簋街享用美食为旅程画上圆满句号,整个行程既能领略北京深厚的历史文化底蕴,又能体验现代都市的活力与魅力。 | `[0.23, -0.45, 0.67, 0.12, -0.89]` | ### 1.1 搜索的三种方式 1. [[元数据]]搜索/过滤、[[SQL]] 2. [[词袋模型]] 的关键词搜索,把文档看做一袋词 1. [[ElasticSearch、ES]]、[[BM25]] 2. **关键词搜索时代的[[百度贴吧]]**,[[概念 Concept]]、[[《俞军产品方法论》]]、[[李明远]] 3. [[向量检索、双塔模型(Bi-Encoder)]],本质是[[分布式语义]] 1. [[Word2Vec]] 让 [[embedding]] 真正普及开来 ([[CS224n Natural Language Processing]]) 2. [[ANN]]、索引[[HNSW]]或者[[IVF]] ### 1.2 搜索的典型步骤 1. [[混合搜索、粗召回(粗排)]] 1. [[BM25]] 2. [[向量检索、双塔模型(Bi-Encoder)]] 2. [[RRF]],每个赛道取前几名 3. [[reranker 重排序]] ### 1.3 评价指标 | **查询类型** | **常用指标** | 关注啥 | | ---------- | ------------------------------------- | ------------------- | | | [[准确率、召回率]] | | | 导航查询 (单答案) | [[MRR(Mean Reciprocal Rank)- 平均倒数排名]] | 只看第一个正确答案在哪 | | 推荐系统 | [[NDCG]] | 考虑所有结果的相关性程度(0-4分) | | 问答系统 | [[MRR(Mean Reciprocal Rank)- 平均倒数排名]] | 考虑所有正确答案的位置(二元:对/错) | | 信息检索 (多答案) | [[MAP@k]] + [[NDCG]] | | | 电商搜索 | [[MAP@k]] + [[业务指标]] | | ### 1.4 搜索引擎的历史 [[搜索引擎]]的历史 ## 二、聊聊 RAG 和上下文工程 1. [[RAG]] ``` 召回阶段: 向量搜索/BM25 → 候选 Top100 ↓ 重排阶段: Qwen Rerank → 精排 Top10 ↓ 生成阶段: 送入 LLM 生成答案 ``` 2. [[上下文工程 Context Engineering]] ## 三、Dify 中的概念抽象 https://docs.dify.ai/zh/use-dify/knowledge/readme ![image.png|1000](https://imagehosting4picgo.oss-cn-beijing.aliyuncs.com/imagehosting/fix-dir%2Fpicgo%2Fpicgo-clipboard-images%2F2025%2F12%2F09%2F21-59-39-c4dab157286a6359c935d08d5e5df329-202512092159518-de9478.png) ## 参考资料 1. 一篇[[RAG]]文章:《37 Things I Learned About Information Retrieval in Two Years at a Vector Database Company》 1. 英文:https://www.leoniemonigatti.com/blog/what_i_learned.html 2. 翻译:https://www.sohu.com/a/910455786_122189055 2. 两个视频:[[王树森]] 的、 ![image.png|1000](https://imagehosting4picgo.oss-cn-beijing.aliyuncs.com/imagehosting/fix-dir%2Fpicgo%2Fpicgo-clipboard-images%2F2025%2F11%2F01%2F23-43-03-0b689a965ce7b754c00a54fba920318b-202511012343257-3ff31a.png)