本项目是一个基于 DeepSeek 的 RAG 系统实战课程的代码仓库,实现了一个完整的检索增强生成系统。
课程地址:RAG系统研发实战
项目采用模块化设计,每个模块负责 RAG 系统的不同方面:
00-简单RAG-SimpleRAG: 基础 RAG 系统实现01-数据导入-DataLoading: 数据加载和预处理02-文本切块-DocChunking: 文档分块策略03-向量嵌入-Embedding: 文本向量化04-向量存储-VectorDB: 向量数据库操作05-检索前处理-PreRetrieval: 检索优化06-索引优化-Indexing: 索引构建和优化07-检索后处理-PostRetrieval: 检索结果优化08-响应生成-Generation: 答案生成09-系统评估-Evaluation: 系统性能评估10-高级RAG-AdvanceRAG: 高级 RAG 技术实现
- NVIDIA GPU (建议 >= 8GB 显存)
- CUDA 11.8 或更高版本
- cuDNN 8.0 或更高版本
- 建议 >= 16GB RAM
- 多核处理器(建议 >= 4 核)
-
Ubuntu (推荐 22.04 或更高)
- GPU 版本:使用
requirements_langchain_20250413(Ubuntu-with-GPU).txt - CPU 版本:使用
requirements_langchain(Ubuntu-with-CPU).txt
- GPU 版本:使用
-
MacOS/Windows
- 使用
requirements_langchain_无GPU版(Mac,Win).txt
- 使用
-
LangChain 框架
- 基础版:
requirements_langchain_简单RAG(后续模块还要安装其它包).txt - 完整版(GPU):
requirements_langchain_20250413(Ubuntu-with-GPU).txt - 完整版(CPU):
requirements_langchain_无GPU版(Mac,Win).txt
- 基础版:
-
LlamaIndex 框架
- 基础版:
requirements_llamaindex_简单RAG(后续模块还要安装其它包).txt - 完整版(GPU):
requirements_llamaindex_20250413(Ubuntu-with-GPU).txt - 完整版(CPU):
requirements_llamaindex_无GPU版(Mac,Win).txt
- 基础版:
# 创建虚拟环境
python -m venv venv-rag-langchain
source venv-rag-langchain/bin/activate
# 安装依赖
pip install -r 91-环境-Environment/requirements_langchain_20250413\(Ubuntu-with-GPU\).txtpython -m venv venv-rag-langchain
source venv-rag-langchain/bin/activate
pip install -r 91-环境-Environment/requirements_langchain\(Ubuntu-with-CPU\).txtpython -m venv venv-rag-langchain
# Windows
.\venv-rag-langchain\Scripts\activate
# MacOS
source venv-rag-langchain/bin/activate
pip install -r "91-环境-Environment/requirements_langchain_无GPU版(Mac,Win).txt"-
PDF 处理相关:
- 使用
requirements_camelot_20250413.txt安装 PDF 处理相关依赖 - 可能需要额外安装系统级依赖:
- Ubuntu:
sudo apt-get install ghostscript python3-tk - MacOS:
brew install ghostscript tcl-tk - Windows: 需要手动安装 Ghostscript
- Ubuntu:
- 使用
-
标注工具相关:
- 使用
requirements_marker_20250413.txt安装标注工具相关依赖
- 使用
- 选择合适的环境配置文件并安装依赖
- 按照模块顺序逐步学习和实践
- 每个模块都包含独立的示例和说明文档
- 建议先从
00-简单RAG-SimpleRAG开始,逐步深入
- GPU 版本需要确保 CUDA 环境配置正确
- 不同操作系统可能需要额外的系统级依赖
- 建议使用虚拟环境管理依赖
- 部分模块可能需要额外的模型下载或 API 密钥配置
- CUDA 相关错误:检查 NVIDIA 驱动和 CUDA 版本是否匹配
- 内存不足:调整批处理大小或使用 CPU 版本
- 依赖冲突:使用虚拟环境并严格按照 requirements 文件安装
欢迎提交 Issue 和 Pull Request 来帮助改进项目。
本项目采用 MIT 许可证。