--- title: "Retrieval" type: concept tags: [RAG, 向量检索, 语义搜索] sources: [rag从入门到精通系列1-基础rag] last_updated: 2025-01-16 --- ## Definition Retrieval(检索阶段)是 RAG 管道的第二阶段,根据用户问题的语义向量(Embedding Vector)在向量数据库中检索与之最相似的 Top-k 个文档块。 ## Core Process ``` 用户问题 → 问题向量化 → Vector Store 相似度检索 → 返回 Top-k 文档块 ``` 1. **问题向量化**:将用户输入的自然语言问题通过相同的 Embedding Model 转换为向量 2. **相似度计算**:Vector Store 计算问题向量与所有文档块向量的相似度(常用方法:余弦相似度、点积、欧氏距离) 3. **返回 Top-k 结果**:返回相似度最高的 k 个文档块作为检索结果 ## Similarity Metrics | 方法 | 适用场景 | |------|----------| | 余弦相似度(Cosine) | 归一化向量,衡量方向相似性 | | 点积(Dot Product) | 未归一化向量,兼顾 magnitude | | 欧氏距离(L2) | 几何距离,适用低维空间 | ## Retrieval Strategies - **Top-k Retrieval**:返回相似度最高的 k 个结果 - **MMR(Maximal Marginal Relevance)**:平衡相关性和多样性,减少重复信息 - **Hybrid Retrieval**:结合关键词检索(BM25)与向量检索 ## Connections - [[Retrieval]] ← part_of ← [[RAG]] - [[Retrieval]] ← uses ← [[Vector-Store]] - [[Retrieval]] ← uses ← [[Embedding]] - [[Retrieval]] ← feeds_into ← [[Generation]] ## Aliases - Information Retrieval - Semantic Search - 向量检索 - 语义检索