datawhalechina/all-in-rag
🔍大模型应用开发实战一:RAG 技术全栈指南,在线阅读地址:https://datawhalechina.github.io/all-in-rag/
它是什么
All-in-RAG 是一个免费的开源教程(主要用中文编写,提供英文版),教开发者如何构建 RAG 应用——这类系统让大语言模型先从你自己的文档或知识库中检索相关信息,然后基于检索到的内容生成回答。该项目自称“全栈指南”:从基础概念带你走到生产级系统。
适合谁
README 列出了四类目标受众:
- 有一定 Python 经验、想学习 RAG 的开发者
- 寻求系统化学习 RAG 的 AI 工程师
- 构建智能问答系统的产品开发者
- 对检索增强生成感兴趣的研究人员
开始之前,项目假设你具备:基本 Python 语法和常用库的使用能力、运行简单 Docker 命令的能力,以及基本的 Linux 命令行操作能力。了解基本 LLM 概念是推荐但非必需的。
涵盖内容
教程分为 5 个部分共 10 章:
RAG 基础——什么是 RAG、如何设置环境,以及“四步”快速入门构建你的第一个 RAG 系统。还涵盖数据准备:加载各种格式的文档,并将文本拆分成可管理的块。
索引构建与优化——将文本转换为向量嵌入(包括处理文本和图像的多模态嵌入)、构建和使用向量数据库(使用 Milvus 进行动手实践),以及调整索引性能。
高级检索——混合搜索(结合稠密和稀疏检索)、智能查询构建、将自然语言转换为 SQL 查询(Text2SQL)、查询重写和路由策略,以及其他高级检索算法。
生成与评估——格式化模型输出,以及如何评估 RAG 系统:方法论、工具和指标。
高级应用与实践——额外一章关于基于知识图谱的 RAG,随后是两个完整的动手项目。第一个项目(第 8 章)构建一个完整的 RAG 应用——环境设置、数据准备、索引构建、检索和生成。第 9 章是对同一项目的可选“Graph RAG”优化,第 10 章(第二个项目)仍在规划中。还有社区贡献的“额外章节”主题,如简单的 Neo4J 应用和多模态嵌入实践。
它的独特之处
README 列出了五个卖点:
- 系统化学习路径——从基础到高级,形成完整的 RAG 心智模型
- 理论与实践结合——每章都包含解释和可运行的代码
- 多模态支持——不仅是文本搜索;涵盖图像与文本的嵌入和检索
- 工程导向——关注性能优化和系统评估等现实问题
- 多个动手项目——从初级到高级,巩固所学内容
仓库布局
仓库包含:docs/(教程文档)、code/(代码示例)、data/(示例数据)、models/(预训练模型)和 Extra-chapter/(社区贡献)。
社区与贡献
该项目由 Datawhale(一个中文开源学习社区)维护,有一位主要贡献者和其他几位贡献者。README 邀请多种贡献:通过 Issues 提交 bug 报告、通过 Discussions 提交想法,以及——目前仅限于 Extra-chapter 部分——社区提交新的独立主题,需经过审查流程。
许可证
All-in-RAG 以 CC BY-NC-SA 4.0 许可证(知识共享署名-非商业性使用-相同方式共享)发布。简单来说:你可以分享和改编材料,但必须注明来源,不得用于商业用途,且任何衍生作品必须以相同许可证发布。
总结
如果你想以结构化、实践性的方式学习 RAG——并且熟悉 Python 和基本 DevOps 工具——这是一个完整、免费的资源,带你从“什么是 RAG?”到“我构建并评估了自己的 RAG 系统”。
相关
- 项目
- 项目
- 项目
- 项目