--- title: "RAG从入门到精通系列1:基础RAG" type: source tags: [RAG, 向量检索, LLM应用] date: 2025-01-16 --- ## Source File - [[raw/未分类/RAG从入门到精通系列1:基础RAG.md]] ## Summary - 核心主题:RAG(检索增强生成)三阶段管道的完整技术栈与实操流程 - 问题域:LLM 自身知识有限、存在幻觉、无法访问最新信息的问题 - 方法/机制:Indexing(文档→向量)→ Retrieval(查询→Top-K相关块)→ Generation(上下文→答案) - 结论/价值:RAG 将外部知识注入 LLM 上下文,考试正确率从 60% 提升至 90%,是 LLM 落地生产的标配架构 ## Key Claims - RAG 三阶段管道(Indexing→Retrieval→Generation)是 LLM 应用的事实标准架构 - Indexing 阶段核心:文档加载 → 文本分块(512~8192 token Context Window 限制)→ BAAI Embedding 向量化 → 存入 Qdrant 向量数据库 - Retrieval 阶段核心:根据 Query 向量在 Vector Store 中按余弦相似度检索 Top-K 相关文档块 - Generation 阶段核心:Query + Top-K Context → PromptTemplate → LLM 生成答案 - Embedding Model(嵌入模型,BAAI 系列)将文本转为固定长度向量,是语义检索的基础 - 技术栈:Qwen(LLM)+ BAAI(Embedding)+ LangChain(编排)+ Qdrant(向量存储) - LangSmith 是监控 RAG Pipeline 各环节(Latency/Token/Trace)的可视化调试工具 ## Key Quotes > "RAG 通过检索外部知识解决 LLM 幻觉,考试正确率从 60% 提升至 90%" ## Key Concepts - [[RAG]]:检索增强生成,通过外部知识检索增强 LLM 回答质量 - [[向量检索]]:基于向量相似度(余弦相似度)在向量数据库中检索相关文档块 - [[文档分块]]:将长文档切分为适合 LLM Context Window 的小块(512~8192 token) - [[嵌入向量]]:文本通过 Embedding Model 转为固定长度浮点数向量 - [[提示词模板]]:将 Query + Context 组装为 LLM 可处理的格式化提示词 ## Key Entities - [[Qwen]]:通义千问大模型,RAG Pipeline 中的 LLM 组件 - [[BAAI]]:北京智源人工智能研究院,开源 Embedding 模型(BAAI/bge) - [[Qdrant]]:Rust 编写的开源向量数据库,RAG 的存储层 - [[LangChain]]:LLM 应用开发框架,RAG Pipeline 编排 - [[LangSmith]]:LLM 应用监控调试平台,可视化 RAG 各环节 Latency 和 Trace - [[PyTorch研习社]]:微信公众号来源 ## Connections - [[RAG]] ← 包含 ← [[向量检索]] + [[嵌入向量]] + [[提示词模板]] - [[RAG]] ← 使用 ← [[Qdrant]](向量存储) - [[RAG]] ← 使用 ← [[BAAI]](Embedding) - [[RAG]] ← 使用 ← [[Qwen]](LLM) - [[RAG]] ← 编排工具 ← [[LangChain]] - [[向量检索]] ← related ← [[语义搜索]](同一技术栈的不同表述) - [[RAG]] ← extends ← [[LLM Wiki]](RAG 是 LLM Wiki 的底层检索技术) - [[LangSmith]] ← 监控 ← [[RAG]] Pipeline ## Contradictions - 与 [[LLM Wiki]] 相比: - 冲突点:RAG 每次从零检索(无记忆),LLM Wiki 持久化积累 - 当前观点:Wiki 适合长期知识积累,RAG 适合动态文档检索 - 对方观点:RAG 适合最新信息(搜索),Wiki 适合沉淀经验(记忆) - 与 [[Dataview]] 相比: - 冲突点:Dataview 基于结构化字段查询,RAG 基于向量语义检索 - 当前观点:Dataview 适合元数据明确的笔记查询 - 对方观点:RAG 适合自然语言模糊查询,两者互补