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

68 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "RAG从入门到精通系列1基础RAG"
type: source
tags: [RAG, LLM, 检索增强生成, 向量数据库]
date: 2025-01-16
sources: []
last_updated: 2025-01-16
---
## Source File
- [[raw/AI/RAG从入门到精通系列1基础RAG.md]]
## 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
> "RAGRetrieval 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 定义为"随身图书馆助理";本文深入,后者概览,相互印证