# RAG-Guide **Repository Path**: mininote/RAG-Guide ## Basic Information - **Project Name**: RAG-Guide - **Description**: 从零到精通 RAG 全流程开发 — 学习教程 · 编程实战 · 面试准备 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-23 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RagGuide 🚀 > 从零到精通 RAG 全流程开发 — 学习教程 · 编程实战 · 面试准备 [![Python](https://img.shields.io/badge/Python-3.13+-blue?logo=python)](https://www.python.org/) [![LangChain](https://img.shields.io/badge/LangChain-1.4.x-green?logo=langchain)](https://www.langchain.com/) [![LM Studio](https://img.shields.io/badge/LM_Studio-Local-orange?logo=openai)](https://lmstudio.ai/) [![ChromaDB](https://img.shields.io/badge/ChromaDB-Persistent-yellow)](https://www.trychroma.com/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) --- **RagGuide** 是一个面向全体开发者的 **RAG 学习开源项目**,从零开始到精通 RAG 全流程开发。 ## 📖 项目结构 ``` RagGuide/ ├── docs/ # 📚 教程(10 章,每章含教程+代码) │ ├── 01-RAG基础/ # 基础RAG流程 │ ├── 02-数据加载/ # 多格式文档加载 │ ├── 03-嵌入模型/ # OpenAI/HuggingFace 对比 │ ├── 04-向量数据库/ # Chroma/Pinecone/Qdrant │ ├── 05-检索策略/ # 混合检索+重排序 │ ├── 06-生成优化/ # Prompt工程+结构化输出 │ ├── 07-高级RAG/ # Self-RAG/GraphRAG │ ├── 08-LangGraph/ # 可迭代RAG工作流 │ ├── 09-生产级RAG/ # Docker部署+监控 │ └── 10-实战案例/ # 知识库/客服/法律/医疗 │ ├── practice/ # 🧪 前沿 RAG 框架实战 │ ├── lightrag/ # LightRAG(轻量级 Graph RAG) │ ├── graphrag/ # GraphRAG(微软社区检测) │ └── ... # 持续更新 │ ├── interview/ # 🎯 面试准备 │ ├── 01-RAG基础面试题.md │ ├── 02-技术深度面试题.md │ ├── 03-系统设计面试题.md │ ├── 04-手撕代码面试题.md │ ├── 05-RAG与微调对比.md │ └── 06-高频面试题汇总.md │ ├── rag_demo.py # ⭐ 快速入口 ├── pyproject.toml # 依赖配置 └── README.md # 本文档 ``` --- ## 🗺️ 学习路线 ### 按章节学习(docs/) 每章包含 **教程文档 + 配套代码**,理论与实践结合: | 章节 | 内容 | 代码 Demo | |------|------|-----------| | 01-RAG基础 | RAG 概念、架构设计、完整链路 | `basic_rag_pipeline.py` | | 02-数据加载 | PDF/Word/HTML/CSV 加载、文本分块 | `document_loader_demo.py` | | 03-嵌入模型 | OpenAI/HuggingFace/LM Studio对比 | `embedding_comparison.py` | | 04-向量数据库 | Chroma/Pinecone/Qdrant选型、CRUD操作 | `vector_db_demo.py` | | 05-检索策略 | 稠密+稀疏混合检索、重排序调优 | `hybrid_search_demo.py` | | 06-生成优化 | Prompt工程、结构化输出、上下文压缩 | `generation_optimization.py` | | 07-高级RAG | Self-RAG自反思、GraphRAG知识图谱 | `advanced_rag_demo.py` | | 08-LangGraph | StateGraph构建、可迭代工作流 | `langgraph_rag_demo.py` | | 09-生产级RAG | Docker部署、Prometheus监控、缓存 | `docker-compose.yml`, `health_check.py` | | 10-实战案例 | 知识库、客服、法律、医疗四场景 | `rag_applications_demo.py` | 运行代码示例: ```bash # 基础 Demo(直接运行,无需外部服务) python docs/02-数据加载/code/document_loader_demo.py # 向量数据库 Demo python docs/04-向量数据库/code/vector_db_demo.py # 嵌入模型对比 python docs/03-嵌入模型/code/embedding_comparison.py # 混合检索演示 python docs/05-检索策略/code/hybrid_search_demo.py # 完整 RAG 链(需 LM Studio) python docs/01-RAG基础/code/basic_rag_pipeline.py # 从快速入口开始 python rag_demo.py ``` ### 学习路径建议 ``` 初学入门 → 进阶实践 → 框架拓展 → 面试准备 01 章 → 02-06 章 → practice/ → interview/ ``` ### 🧪 前沿框架实战(practice/) | 框架 | 目录 | 说明 | |------|------|------| | LightRAG | practice/lightrag/ | 基于知识图谱的轻量级 Graph RAG | | GraphRAG | practice/graphrag/ | 微软 GraphRAG,社区检测+自动摘要 | | 更多 | practice/... | 持续更新中 | ### 🎯 面试准备(interview/) 面试高频题全覆盖: ``` 基础概念 → 技术深度 → 系统设计 → 手撕代码 → 高频题库 ``` --- ## 🚀 快速开始 ```bash # 1. 安装依赖 uv sync # 2. 运行基础 Demo(无需 LM Studio) python docs/02-数据加载/code/document_loader_demo.py # 3. 运行向量数据库 Demo python docs/04-向量数据库/code/vector_db_demo.py # 4. 运行完整 RAG 链(需 LM Studio) python docs/01-RAG基础/code/basic_rag_pipeline.py # 5. 或从快速入口开始 python rag_demo.py ``` > 💡 运行前请确保 LM Studio 已启动,Embedding 和 Chat 模型已加载。 --- ## 🧪 技术栈 | 组件 | 技术选型 | 说明 | |------|----------|------| | 框架 | LangChain 1.4.x | LCEL 链式调用 | | Embedding | BGE-M3(LM Studio 部署) | 1024 维,多语言 | | Reranker | BGE-Reranker-v2-m3 | Cross-Encoder 精排 | | Chat LLM | Qwen3 系列 | 本地对话模型 | | 向量库 | ChromaDB | 轻量级持久化 | | 语言 | Python 3.13+ | | --- ## 🤝 贡献指南 欢迎贡献!你可以: - 📝 **完善教程**:补充 docs/ 各章节的技术文章 - 💻 **提交代码**:完善各章节 `code/` 中的 Demo 或新增 practice/ 框架实战 - 🎯 **补充面试题**:丰富 interview/ 题库 - 🐛 **提交 Issue**:报告问题或建议 --- ## 📄 开源协议 本项目基于 MIT 协议开源。