4.8 KiB
4.8 KiB
title, type, tags, date, sources, last_updated
| title | type | tags | date | sources | last_updated | ||||
|---|---|---|---|---|---|---|---|---|---|
| RAG从入门到精通系列1:基础RAG | source |
|
2025-01-16 | 2025-01-16 |
Source File
Summary(用中文描述)
- 核心主题:RAG(检索增强生成)的基础概念与工作流程,包括 Indexing(索引)、Retrieval(检索)和 Generation(生成)三阶段
- 问题域:LLM 缺乏最新知识和私有领域数据的问题,以及如何将 LLM 与外部数据源连接
- 方法/机制:通过对外部文档建立索引 → 根据用户问题检索相关文档 → 将问题和相关文档输入 LLM 生成答案的三阶段管道;使用 Embedding Model 将文本转为向量表示存入 Vector Store
- 结论/价值:RAG 是连接 LLM 与外部知识的通用方法,可消除 LLM 幻觉,提升答案准确性;LangChain 和 LlamaIndex 框架可简化 RAG 管道的构建
Key Claims(用中文描述)
- RAG(检索增强生成)通过将 LLM 与外部数据源连接,允许 LLM 使用私有数据或最新数据生成答案
- 基础 RAG 流程包含三个阶段:Indexing(索引)、Retrieval(检索)、Generation(生成)
- 文本必须转为 Embedding Vector(嵌入向量)才能实现语义相似度检索
- Embedding Model 的 Context Window 有限(512~8192 token),需将文档切分成 Split 后再进行向量化
- Vector Store(向量数据库)存储 Embedding Vector 并实现相似度比较
- LangChain 和 LlamaIndex 框架可简化检索与生成管道的构建和串联
Key Quotes
"RAG(Retrieval Augmented Generation,检索增强生成)是一种将 LLM 与外部数据源(例如私有数据或最新数据)连接的通用方法。它允许 LLM 使用外部数据来生成其输出。" — RAG 定义 "Embedding Vector 通常存储在 Vector Store(向量数据库)中,Vector Store 实现了各种比较 Embedding Vector 之间相似度的方法。" — 向量数据库作用 "LangSmith 是一个用于构建生产级 LLM 应用程序的平台。它允许我们密切监控和评估我们的应用程序,以便我们可以快速、自信地交付。" — LangSmith 定位
Key Concepts
- RAG:Retrieval Augmented Generation,检索增强生成 — 连接 LLM 与外部数据源的通用方法
- Indexing:索引阶段 — 对外部文档进行加载、切分、向量化并存入向量数据库
- Retrieval:检索阶段 — 根据问题语义向量检索相关文档块
- Generation:生成阶段 — 将问题与检索到的文档输入 LLM 生成答案
- Embedding:文本到向量表示的转换,使文本可用数学方法计算相似度
- Vector-Store:向量数据库 — 存储嵌入向量并支持相似度检索
- Split:文档切分 — 将长文档切分成适合 Embedding Model Context Window 的小块
- Token:Token 是模型表示文本的基本单位,英文约 3-4 字母/Token,中文约 1 汉字/Token
- Context-Window:上下文窗口 — Embedding Model 能接受的最大 token 数,通常 512~8192
Key Entities
- LangChain:Python/LLMs 应用开发框架,提供文档加载器、向量数据库集成、Chain 组合等功能
- LlamaIndex:LLM 数据框架,用于构建 LLM 应用的数据连接层
- Qwen:阿里通义千问大模型,作为示例 LLM 用于 RAG 管道
- BAAI:智谱 AI Embedding 模型(如 BAAI/bge 系列),用于文本向量化
- Qdrant:开源向量数据库,使用 Rust 编写,用于存储和检索 Embedding Vector
- LangSmith:LangChain 的监控和评估平台,用于追踪和调试 LLM 应用管道
Connections
- RAG ← depends_on ← Vector-Store
- RAG ← depends_on ← Embedding
- RAG ← depends_on ← LLM
- RAG ← depends_on ← LangChain
- Indexing ← produces ← Vector-Store
- Retrieval ← depends_on ← Vector-Store
- Retrieval ← depends_on ← Embedding
- Generation ← depends_on ← Retrieval
- LangChain ← integrates ← Qwen
- LangChain ← integrates ← BAAI
- LangChain ← integrates ← Qdrant
Contradictions
- 与 Personal-Knowledge-Base-RAG 关系:本文侧重基础 RAG 概念和流程解析,后者侧重个人知识库场景下的 RAG 实战应用;两者互补,共同构成 RAG 知识体系
- 与 大模型相关术语和框架总结 关系:本文深入展开 RAG 机制,后者将 RAG 列为术语之一(消除幻觉,正确率 60%→90%);本文提供机制详解,后者提供宏观定位
- 与 llms-rag-ai-agent-三个到底什么区别 关系:本文详解 RAG 内部三阶段,后者将 RAG 定义为"随身图书馆助理";本文深入,后者概览,相互印证