Skip to content

cosolar/RAG-Guide

Repository files navigation

RagGuide 🚀

从零到精通 RAG 全流程开发 — 学习教程 · 编程实战 · 面试准备

Python LangChain LM Studio ChromaDB License: MIT


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

运行代码示例:

# 基础 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/)

面试高频题全覆盖:

基础概念 → 技术深度 → 系统设计 → 手撕代码 → 高频题库

🚀 快速开始

# 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 协议开源。

About

从零到精通 RAG 全流程开发 — 学习教程 · 编程实战 · 面试准备

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors