长期以来,RAG 学习资源中视频教程往往只简单讲解文本分类,最多用 Langchain 带你实现一下基础功能。而对于Recursive Chunking、Parent_Child Chunking、GraphRAG等核心技术的源码教学却几乎空白,这对于想要深入理解底层原理的学习者来说无疑是一种障碍。
本项目致力于填补这一空白,提供一个专注于 RAG 底层源码学习的开源平台。
- 降低源码学习门槛:减少直接阅读大型源码库的上下文负担
- 提供高质量学习材料:精选来自 Dify、n8n、Coze、RAGflow 等知名项目的源码
- 深度学习引导:不仅提供源码,还包含学习路径和思考问题
- 社区共建:邀请所有对 RAG 感兴趣的开发者参与贡献
目前项目刚刚启动,已有内容:
- ✅ Dify 递归分块算法 - 来自 Dify 的
RecursiveCharacterTextSplitter完整源码及学习指南
├── README.md # 项目说明文档
├── Dify_Recursive.py # Dify递归分块算法学习文件
└── (即将添加更多学习模块...)
- 直接复制粘贴来自知名项目的源码
- 只做必要删减,保持代码原汁原味
- 去除复杂依赖,聚焦核心算法
每个学习文件包含:
- 学习路径建议:分阶段的学习指导
- 引导性问题:在代码注释中嵌入思考问题
- 开放贡献,欢迎提交新的学习模块
- 持续改进现有内容的质量
- 建立 RAG 源码学习社区
# 克隆项目
git clone https://github.com/ChasePassion/RAG_Code_To_Learn.git
cd RAG_Code_To_Learn
# 查看可用的学习模块
ls -la
# 选择一个模块开始学习(例如Dify递归分块)
cat Dify_Recursive.py- 选择感兴趣的模块:根据你的学习目标选择相应的源码模块
- 按照学习路径进行:每个模块都有详细的学习指导
- 主动思考:尝试回答代码中的引导问题
- 实践验证:运行测试代码,观察实际效果
- 参与讨论:在 Issues 中分享你的理解和问题
我们欢迎所有形式的贡献!
- 添加新的学习模块:从其他 RAG 相关项目中提取有价值的源码
- 改进现有内容:优化学习路径、补充问题、修正错误
- 完善文档:改进 README、添加更详细的说明
- 分享经验:在 Issues 中分享学习心得和建议
- Fork 本项目
- 创建你的特性分支:
git checkout -b feature/new-module - 提交你的改动:
git commit -am 'Add new learning module' - 推送到分支:
git push origin feature/new-module - 提交 Pull Request