Files
nexus/wiki/sources/rag从入门到精通系列1-基础rag.md

5.6 KiB
Raw Blame History

title, type, tags, date
title type tags date
RAG从入门到精通系列1基础RAG source
rag
llm
向量检索
知识库
langchain
2025-01-16

Source File

Summary用中文描述

  • 核心主题RAG检索增强生成基础原理与实战入门从 Indexing索引、Retrieval检索到 Generation生成的完整流程。
  • 问题域LLM 无法使用最新数据和私有数据的根本问题,以及如何通过 RAG 打通 LLM 与外部知识库的连接。
  • 方法/机制:三大核心阶段——(1) Indexing将外部文档加载、切分、Embedding 向量化后存入向量数据库;(2) Retrieval用户问题 Embedding 化后通过向量相似度检索 Top-k 相关文档块;(3) Generation将问题 + 检索结果输入 LLM 生成带事实依据的答案。实战工具链QwenLLM+ BAAIEmbedding+ LangChain编排+ Qdrant向量数据库
  • 结论/价值RAG 是让 LLM 拥有外部知识的标准范式LangChain 和 LlamaIndex 等框架将三阶段流程封装为 Chain大幅降低开发门槛LangSmith 可视化整个 RAG 管道便于调试。

Key Claims用中文描述

  • RAG 将 LLM 与外部数据源(私有数据/最新数据)连接,使 LLM 能够使用非训练知识生成答案。
  • Indexing 阶段通过 Embedding Model 将文本转为固定长度的语义向量,以满足向量相似度检索的需求。
  • 由于 Embedding Model 的 Context Window 有限512~8192 token需将外部文档切分成满足窗口大小的 Split文档块
  • Retrieval 阶段根据用户问题的语义向量,在向量数据库中按相似度(余弦相似度等)找出 Top-k 个最相关的文档块。
  • Generation 阶段将问题与检索到的文档块通过 PromptTemplate 组合为 Prompt输入 LLM 生成有事实依据的最终答案。
  • LangChain 和 LlamaIndex 将 Indexing-Retrieval-Generation 三阶段封装为 Chain简化 RAG 应用开发。
  • LangSmith 提供 RAG 管道的全链路可视化监控和调试能力。

Key Quotes

"RAGRetrieval Augmented Generation检索增强生成是一种将 LLM 与外部数据源(例如私有数据或最新数据)连接的通用方法。它允许 LLM 使用外部数据来生成其输出。" — RAG 的定义与价值 "Embedding Model 的 Context Window 有限,我们不能直接把整篇文档丢进去,所以要将原始文档拆分成一个个文档块。" — 文档切分的必要性 "看起来很复杂,但这就是 LangChain 和 LlamaIndex 这类框架存在的意义。" — 框架的价值定位

Key Concepts

  • RAG:检索增强生成,将 LLM 链接外部知识库的核心技术架构
  • Indexing:索引阶段,将外部文档加载、切分、向量化后存入向量数据库
  • Retrieval:检索阶段,通过向量相似度从数据库中检索与问题相关的文档块
  • Generation:生成阶段,将问题+检索结果输入 LLM 生成答案
  • Embedding:将文本转为固定长度语义向量的技术,是向量检索的基础
  • Vector Store(向量数据库):存储 Embedding Vector 并实现相似度比较的数据库系统,如 Qdrant
  • Split(文档块):将长文档切分后满足 Embedding Model Context Window 的文本片段
  • Context Window:模型一次性处理的最大 token 数量Embedding Model 通常为 512~8192 token
  • PromptTemplate:将问题与上下文组装为 LLM 输入 Prompt 的模板技术
  • ChainLangChain 中将多个步骤串联执行的抽象RAG Chain 串联 Retrieval 与 Generation
  • Token:模型处理文本的基本单位,英文约 3~4 字母/token中文约 1 汉字/token

Key Entities

  • LangChainPython/LLM 应用开发框架提供文档加载器、Embedding、Vector Store、Chain、RAG 原语
  • Qwen:阿里通义千问系列 LLM本教程中用作 Generation 阶段的 LLM
  • BAAIBGE Embedding开源 Embedding Model 系列,将文本转为语义向量
  • QdrantRust 编写的开源向量数据库,存储 Embedding Vector 并提供相似度检索
  • LlamaIndex:另一主流 LLM 数据框架(与 LangChain 并列),专注知识增强
  • LangSmithLangChain 官方平台,用于构建、监控和评估生产级 LLM 应用,支持 RAG 管道可视化
  • PyTorch研习社:文章来源微信公众号

Connections

Contradictions

  • 与其他 RAG 进阶技术存在优化方向上的差异:本文为基础 RAGNaive RAG采用直接向量检索 + 简单拼接 Prompt 的朴素方案。与 Advanced RAG包含 Query Rewrite、Step-back Prompt、HyDE 等查询优化技术)和 RAG Fusion多路召回 + RRF 重排)等进阶方案相比,基础 RAG 在检索质量和上下文利用上存在局限。当前 Wiki 中暂无 Advanced RAG 或 RAG Fusion 的专门页面,此冲突待后续补充进阶内容后更新。