all-in-rag
all-in-rag 是一套专为大模型应用开发者打造的检索增强生成(RAG)技术全栈指南。它致力于解决当前 RAG 学习资源零散、缺乏系统性以及难以落地生产级应用的痛点,帮助使用者从理论认知平滑过渡到工程实践。
该项目非常适合具备 Python 基础的 AI 工程师、希望构建智能问答系统的产品开发者,以及对检索增强生成技术有深入研究需求的研究人员。通过 all-in-rag,用户能够系统掌握从数据清洗、文本分块、向量索引构建,到混合检索、Text2SQL 高级查询及系统评估优化的完整闭环技能。
其核心亮点在于构建了“理论 + 实战”并重的学习体系:不仅深入浅出地解析了 RAG 的核心原理,还提供了丰富的项目案例和多模态(文本 + 图像)检索支持。内容涵盖从基础入门到生产就绪的工程化最佳实践,旨在帮助用户独立搭建高效、可靠的智能知识检索系统,是通往 RAG 技术精通之路的实用路线图。
使用场景
某金融科技公司的高级算法工程师李明,正负责为公司内部合规部门构建一个基于最新监管文件的智能问答系统,以辅助快速检索复杂的法律条款。
没有 all-in-rag 时
- 知识体系碎片化:李明需要在 GitHub、博客和技术文档间反复跳转,难以拼凑出从数据清洗到向量索引的完整 RAG 技术链路,学习成本极高。
- 工程落地陷阱多:在处理长文本分块和混合检索策略时,因缺乏最佳实践参考,导致系统频繁出现“检索不到”或“回答幻觉”的问题,调试耗时数周。
- 评估标准缺失:项目上线前无法科学量化检索准确率与生成质量,只能依靠人工主观测试,难以向业务方证明系统可靠性。
- 多模态支持空白:面对包含图表的监管报告,现有零散教程未提供图像检索方案,导致关键数据无法被系统识别和利用。
使用 all-in-rag 后
- 全栈路径清晰:all-in-rag 提供了从理论到生产的系统化指南,李明在一周内便掌握了数据加载、嵌入模型选型及向量数据库构建的完整闭环。
- 避坑指南高效:依托项目中丰富的实战案例和优化技巧,他迅速解决了分块粒度不当和查询重写难题,将开发周期缩短了 50% 以上。
- 科学评估体系:利用工具内置的评估方法论,李明建立了自动化测试流程,用精确的指标数据证明了系统效果,顺利推动项目上线。
- 多模态能力进阶:参考 all-in-rag 中的多模态检索章节,他成功集成了图像嵌入技术,实现了对监管文件中复杂图表内容的精准问答。
all-in-rag 将原本零散摸索的 RAG 开发过程转变为一条标准化、可落地的工程捷径,极大降低了企业级智能应用的构建门槛。
运行环境要求
- Linux
- macOS
- Windows
未说明(项目涵盖多模态及向量数据库实践,通常建议具备 NVIDIA GPU 以加速嵌入和推理,但 README 未明确具体型号或显存要求)
未说明(建议 16GB+ 以运行本地向量数据库和大模型)

快速开始
All-in-RAG | 大模型应用开发实战一:RAG技术全栈指南
🔍 检索增强生成 (RAG) 技术全栈指南
从理论到实践,从基础到进阶,构建你的RAG技术体系
| 🎯 系统化学习 完整的RAG技术体系 |
🛠️ 动手实践 丰富的项目案例 |
🚀 生产就绪 工程化最佳实践 |
📊 多模态支持 文本+图像检索 |
项目简介(中文 | English)
本项目是一个面向大模型应用开发者的RAG(检索增强生成)技术全栈教程,旨在通过体系化的学习路径和动手实践项目,帮助开发者掌握基于大语言模型的RAG应用开发技能,构建生产级的智能问答和知识检索系统。
主要内容包括:
- RAG技术基础:深入浅出地介绍RAG的核心概念、技术原理和应用场景
- 数据处理全流程:从数据加载、清洗到文本分块的完整数据准备流程
- 索引构建与优化:向量嵌入、多模态嵌入、向量数据库构建及索引优化技术
- 检索技术进阶:混合检索、查询构建、Text2SQL等高级检索技术
- 生成集成与评估:格式化生成、系统评估与优化方法
- 项目实战:从基础到进阶的完整RAG应用开发实践
项目意义
随着大语言模型的快速发展,RAG技术已成为构建智能问答系统、知识检索应用的核心技术。然而,现有的RAG教程往往零散且缺乏系统性,初学者难以形成完整的技术体系认知。
本项目从实践出发,结合最新的RAG技术发展趋势,构建了一套完整的RAG学习体系,帮助开发者:
- 系统掌握RAG技术的理论基础和实践技能
- 理解RAG系统的完整架构和各组件的作用
- 具备独立开发RAG应用的能力
- 掌握RAG系统的评估和优化方法
项目受众
本项目适合以下人群学习:
- 具备Python编程基础,对RAG技术感兴趣的开发者
- 希望系统学习RAG技术的AI工程师
- 想要构建智能问答系统的产品开发者
- 对检索增强生成技术有学习需求的研究人员
前置要求:
- 掌握Python基础语法和常用库的使用
- 能够简单使用docker
- 了解基本的LLM概念(推荐但非必需)
- 具备基础的Linux命令行操作能力
项目亮点
- 体系化学习路径:从基础概念到高级应用,构建完整的RAG技术学习体系
- 理论与实践并重:每个章节都包含理论讲解和代码实践,确保学以致用
- 多模态支持:不仅涵盖文本RAG,还包括多模态嵌入和检索技术
- 工程化导向:注重实际应用中的工程化问题,包括性能优化、系统评估等
- 丰富的实战项目:提供从基础到进阶的多个实战项目,帮助巩固学习成果
内容大纲
第一部分:RAG基础入门
第一章 解锁RAG 📖 查看章节
- RAG简介 - RAG技术概述与应用场景
- 准备工作 - 环境配置与准备
- 四步构建RAG - 快速上手RAG开发
- 附:环境部署 - Python虚拟环境部署方案补充 (贡献者: @anarchysaiko)
第二章 数据准备 📖 查看章节
第二部分:索引构建与优化
第三章 索引构建 📖 查看章节
第三部分:检索技术进阶
第四章 检索优化 📖 查看章节
第四部分:生成与评估
第五章 生成集成 📖 查看章节
- 格式化生成 - 结构化输出与格式控制
第六章 RAG系统评估 📖 查看章节
第五部分:高级应用与实战
第七章 高级RAG架构(拓展部分) 📖 查看章节
第八章 项目实战一 📖 查看章节
第九章 项目实战一优化(选修篇) 📖 查看章节
第十章 项目实战二(选修篇) 📖 查看章节 规划中
Extra-chapter
- Neo4J 简单应用 (贡献者: dalvqw)
如果你在使用 RAG / 向量数据库 / Agentic RAG 等相关技术时,也有值得分享的经验与专题内容,非常欢迎以独立章节的形式投稿到 Extra Chapter 中。提交前请先阅读 Extra Chapter 的贡献与 PR 指南,我们会根据内容的完整度、实践深度与参考价值综合评估是否合并,并视情况在主教程中进行引用或扩展说明。
目录结构说明
all-in-rag/
├── docs/ # 教程文档
├── code/ # 代码示例
├── data/ # 示例数据
├── models/ # 预训练模型
├── Extra-chapter/ # 扩展章节与社区实践内容
└── README.md # 项目说明
实战项目展示
第八章 项目一:

第九章 项目一(Graph RAG优化):

第十章 项目二:
致谢
核心贡献者
- dalvqw-项目负责人(项目发起人与主要贡献者)
额外章节贡献者
- 孙超-内容创作者(Datawhale成员-上海工程技术大学)
特别感谢
- 感谢 @Sm1les 对本项目的帮助与支持
- 感谢所有为本项目做出贡献的开发者们
- 感谢开源社区提供的优秀工具和框架支持
- 特别感谢以下为教程做出贡献的开发者!
由 contrib.rocks 制作。
参与贡献
我们欢迎所有形式的贡献,包括但不限于:
- 🚨 Bug报告:发现问题请提交 Issue
- 💭 教程建议:有好的想法欢迎在 Discussions 中讨论
- 📚 文档改进:帮助完善文档内容和示例代码(当前仅支持 Extra-chapter 优质内容pr)
Star History
如果这个项目对你有帮助,请给我们一个 ⭐️
让更多人发现这个项目(护食?发来!)

关于 Datawhale
扫描二维码关注 Datawhale 公众号,获取更多优质开源内容
许可证
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

