Initial commit

This commit is contained in:
2026-05-12 09:41:56 +08:00
commit 572283e101
936 changed files with 133949 additions and 0 deletions
+234
View File
@@ -0,0 +1,234 @@
# All-in-RAG | 大模型应用开发实战一:RAG技术全栈指南
<div align='center'>
<img src="./logo.svg" alt="All-in-RAG Logo" width="70%">
</div>
<div align="center">
<h2>🔍 检索增强生成 (RAG) 技术全栈指南</h2>
<p><em>从理论到实践,从基础到进阶,构建你的RAG技术体系</em></p>
</div>
<div align="center">
<img src="https://img.shields.io/github/stars/datawhalechina/all-in-rag?style=for-the-badge&logo=github&color=ff6b6b" alt="GitHub stars"/>
<img src="https://img.shields.io/github/forks/datawhalechina/all-in-rag?style=for-the-badge&logo=github&color=4ecdc4" alt="GitHub forks"/>
<img src="https://img.shields.io/badge/Python-3.12.7-blue?style=for-the-badge&logo=python&logoColor=white" alt="Python"/>
<a href="https://zread.ai/datawhalechina/all-in-rag">
<img src="https://img.shields.io/badge/Ask_Zread-_.svg?style=for-the-badge&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff" alt="zread"/>
</a>
</div>
<div align="center">
<a href="https://datawhalechina.github.io/all-in-rag/">
<img src="https://img.shields.io/badge/📖_在线阅读-立即开始-success?style=for-the-badge&logoColor=white" alt="在线阅读"/>
</a>
<a href="README_en.md">
<img src="https://img.shields.io/badge/🌍_English-Version-blue?style=for-the-badge&logoColor=white" alt="English Version"/>
</a>
<a href="https://github.com/datawhalechina">
<img src="https://img.shields.io/badge/💬_讨论交流-加入我们-purple?style=for-the-badge&logoColor=white" alt="讨论交流"/>
</a>
</div>
<div align="center">
<br>
<table>
<tr>
<td align="center">🎯 <strong>系统化学习</strong><br>完整的RAG技术体系</td>
<td align="center">🛠️ <strong>动手实践</strong><br>丰富的项目案例</td>
<td align="center">🚀 <strong>生产就绪</strong><br>工程化最佳实践</td>
<td align="center">📊 <strong>多模态支持</strong><br>文本+图像检索</td>
</tr>
</table>
</div>
## 项目简介(中文 | [English](en/)
本项目是一个面向大模型应用开发者的RAG(检索增强生成)技术全栈教程,旨在通过体系化的学习路径和动手实践项目,帮助开发者掌握基于大语言模型的RAG应用开发技能,构建生产级的智能问答和知识检索系统。
**主要内容包括:**
1. **RAG技术基础**:深入浅出地介绍RAG的核心概念、技术原理和应用场景
2. **数据处理全流程**:从数据加载、清洗到文本分块的完整数据准备流程
3. **索引构建与优化**:向量嵌入、多模态嵌入、向量数据库构建及索引优化技术
4. **检索技术进阶**:混合检索、查询构建、Text2SQL等高级检索技术
5. **生成集成与评估**:格式化生成、系统评估与优化方法
6. **项目实战**:从基础到进阶的完整RAG应用开发实践
## 项目意义
随着大语言模型的快速发展,RAG技术已成为构建智能问答系统、知识检索应用的核心技术。然而,现有的RAG教程往往零散且缺乏系统性,初学者难以形成完整的技术体系认知。
本项目从实践出发,结合最新的RAG技术发展趋势,构建了一套完整的RAG学习体系,帮助开发者:
- 系统掌握RAG技术的理论基础和实践技能
- 理解RAG系统的完整架构和各组件的作用
- 具备独立开发RAG应用的能力
- 掌握RAG系统的评估和优化方法
## 项目受众
**本项目适合以下人群学习:**
- 具备Python编程基础,对RAG技术感兴趣的开发者
- 希望系统学习RAG技术的AI工程师
- 想要构建智能问答系统的产品开发者
- 对检索增强生成技术有学习需求的研究人员
**前置要求:**
- 掌握Python基础语法和常用库的使用
- 能够简单使用docker
- 了解基本的LLM概念(推荐但非必需)
- 具备基础的Linux命令行操作能力
## 项目亮点
1. **体系化学习路径**:从基础概念到高级应用,构建完整的RAG技术学习体系
2. **理论与实践并重**:每个章节都包含理论讲解和代码实践,确保学以致用
3. **多模态支持**:不仅涵盖文本RAG,还包括多模态嵌入和检索技术
4. **工程化导向**:注重实际应用中的工程化问题,包括性能优化、系统评估等
5. **丰富的实战项目**:提供从基础到进阶的多个实战项目,帮助巩固学习成果
## 内容大纲
### 第一部分:RAG基础入门
**第一章 解锁RAG** [📖 查看章节](chapter1)
1. [x] [RAG简介](chapter1/01_RAG_intro.md) - RAG技术概述与应用场景
2. [x] [准备工作](chapter1/02_preparation.md) - 环境配置与工具准备
3. [x] [四步构建RAG](chapter1/03_get_start_rag.md) - 快速上手RAG开发
4. [x] [附:环境部署](chapter1/virtualenv.md) - Python虚拟环境部署方案补充 (贡献者: [@anarchysaiko](https://github.com/anarchysaiko))
**第二章 数据准备** [📖 查看章节](chapter2)
1. [x] [数据加载](chapter2/04_data_load.md) - 多格式文档处理与加载
2. [x] [文本分块](chapter2/05_text_chunking.md) - 文本切分策略与优化
### 第二部分:索引构建与优化
**第三章 索引构建** [📖 查看章节](chapter3)
1. [x] [向量嵌入](chapter3/06_vector_embedding.md) - 文本向量化技术详解
2. [x] [多模态嵌入](chapter3/07_multimodal_embedding.md) - 图文多模态向量化
3. [x] [向量数据库](chapter3/08_vector_db.md) - 向量存储与检索系统
4. [x] [Milvus实践](chapter3/09_milvus.md) - Milvus多模态检索实战
5. [x] [索引优化](chapter3/10_index_optimization.md) - 索引性能调优技巧
### 第三部分:检索技术进阶
**第四章 检索优化** [📖 查看章节](chapter4)
1. [x] [混合检索](chapter4/11_hybrid_search.md) - 稠密+稀疏检索融合
2. [x] [查询构建](chapter4/12_query_construction.md) - 智能查询理解与构建
3. [x] [Text2SQL](chapter4/13_text2sql.md) - 自然语言转SQL查询
4. [x] [查询重构与分发](chapter4/14_query_rewriting.md) - 查询优化策略
5. [x] [检索进阶技术](chapter4/15_advanced_retrieval_techniques.md) - 高级检索算法
### 第四部分:生成与评估
**第五章 生成集成** [📖 查看章节](chapter5)
1. [x] [格式化生成](chapter5/16_formatted_generation.md) - 结构化输出与格式控制
**第六章 RAG系统评估** [📖 查看章节](chapter6)
1. [x] [评估介绍](chapter6/18_system_evaluation.md) - RAG系统评估方法论
2. [x] [评估工具](chapter6/19_common_tools.md) - 常用评估工具与指标
### 第五部分:高级应用与实战
**第七章 高级RAG架构(拓展部分)** [📖 查看章节](chapter7)
1. [x] [基于知识图谱的RAG](chapter7/20_kg_rag.md)
**第八章 项目实战一** [📖 查看章节](chapter8)
1. [x] [环境配置与项目架构](chapter8/01_env_architecture.md)
2. [x] [数据准备模块实现](chapter8/02_data_preparation.md)
3. [x] [索引构建与检索优化](chapter8/03_index_retrieval.md)
4. [x] [生成集成与系统整合](chapter8/04_generation_sys.md)
**第九章 项目实战一优化(选修篇)** [📖 查看章节](chapter9)
[🍽️ 项目展示](https://github.com/FutureUnreal/What-to-eat-today)
1. [x] [图RAG架构设计](chapter9/01_graph_rag_architecture.md)
2. [x] [图数据建模与准备](chapter9/02_graph_data_modeling.md)
3. [x] [Milvus索引构建](chapter9/03_index_construction.md)
4. [x] [智能查询路由与检索策略](chapter9/04_intelligent_query_routing.md)
**第十章 项目实战二(选修篇)** [📖 查看章节](chapter10) *规划中*
### 第六部分:知识拓展
**第十一章 Neo4J 简单应用** [📖 查看章节](chapter11)
1. [x] [知识图谱与 Neo4j 安装](chapter11/01_knowledge_graph.md)
2. [x] [Neo4j 基本使用](chapter11/02_neo4j.md)
## 目录结构说明
```
all-in-rag/
├── docs/ # 教程文档
├── code/ # 代码示例
├── data/ # 示例数据
├── models/ # 预训练模型
└── README.md # 项目说明
```
## 实战项目展示
### 第八章 项目一:
![项目一](./project01.png)
### 第九章 项目一(Graph RAG优化):
![项目一(Graph RAG优化)](./project01_graph.png)
### 第十章 项目二:
## 致谢
**核心贡献者**
- [dalvqw-项目负责人](https://github.com/FutureUnreal)(项目发起人与主要贡献者)
**额外章节贡献者**
- [孙超-内容创作者](https://github.com/anarchysaiko)Datawhale成员-上海工程技术大学)
### 特别感谢
- 感谢 [@Sm1les](https://github.com/Sm1les) 对本项目的帮助与支持
- 感谢所有为本项目做出贡献的开发者们
- 感谢开源社区提供的优秀工具和框架支持
- 特别感谢以下为教程做出贡献的开发者!
[![Contributors](https://contrib.rocks/image?repo=datawhalechina/all-in-rag)](https://github.com/datawhalechina/all-in-rag/graphs/contributors)
*Made with [contrib.rocks](https://contrib.rocks).*
## 参与贡献
我们欢迎所有形式的贡献,包括但不限于:
- 🚨 **Bug报告**:发现问题请提交 [Issue](https://github.com/datawhalechina/all-in-rag/issues)
- 💭 **教程建议**:有好的想法欢迎在 [Discussions](https://github.com/datawhalechina/all-in-rag/discussions) 中讨论
- 📚 **文档改进**:帮助完善文档内容和示例代码(当前仅支持 Extra-chapter 优质内容pr
## Star History
[![all-in-rag stats](https://datawhalechina.github.io/members-visualization/badges/all-in-rag.png)](https://datawhalechina.github.io/members-visualization/repo-badge?repo=all-in-rag)
<div align="center">
<p>如果这个项目对你有帮助,请给我们一个 ⭐️</p>
<p>让更多人发现这个项目(护食?发来!)</p>
</div>
![star](./emoji.png)
## 关于 Datawhale
<div align='center'>
<img src="https://raw.githubusercontent.com/datawhalechina/pumpkin-book/master/res/qrcode.jpeg" alt="Datawhale" width="30%">
<p>扫描二维码关注 Datawhale 公众号,获取更多优质开源内容</p>
</div>
---
## 许可证
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://img.shields.io/badge/license-CC%20BY--NC--SA%204.0-lightgrey" /></a>
本作品采用 [知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/) 进行许可。
---