Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

AltStyle によって変換されたページ (->オリジナル) /