Advanced_RAG
10 个 Jupyter Notebook 从基础 RAG 到 Agentic RAG 的完整技术教程,LangChain + Llama3 主流技术栈
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
10 个 Jupyter Notebook 从基础 RAG 到 Agentic RAG 的完整技术教程,LangChain + Llama3 主流技术栈
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
老张是个有 20 年股龄的老股民,每天盯着 K 线看到凌晨两点。2024 年初,他听说了 AI 大模型,想让 AI 帮他分析持仓股票的消息舆情。他试着把一篇研报扔给 ChatGPT,得到的回答却让人哭笑不得——AI 把 2022 年的旧闻当成了最新消息,还在分析一个早已退市的公司。
"这东西根本不知道我的持仓是什么!"老张向邻居小王抱怨。
小王笑了:"你得给它接上'实时知识库',这叫 RAG。"
RAG(检索增强生成) 是当前大模型落地最核心的技术路径之一。它的本质很简单:不让 AI 凭空编造答案,而是先从知识库中检索相关内容,再让大模型基于检索结果作答。就像写论文必须先查文献,而不是凭空臆造。
今天要介绍的这个开源项目——Advanced RAG,就是一套由浅入深、纯 Notebook 驱动的 RAG 实战教程。它用 10 个 Jupyter Notebook,覆盖了从最基础的 RAG 流程到最前沿的 Agentic RAG 的完整知识图谱。

图:RAG 系统的基本工作流程——用户提问 → 检索 → 生成回答
Advanced RAG 的作者 Gurpreet Kaur Jethra 是一名活跃在 AI 开发者社区的技术作者,项目于 2024 年 4 月创建,目前拥有 110 颗 GitHub Stars 和 28 个 Fork。
项目的定位非常明确:通过可运行的代码 Notebook,把 RAG 的每一种进阶技术讲清楚。不同于很多只放 PPT 截图的"课程",Advanced RAG 的每一个知识点都配有完整可执行的代码,读者打开 Notebook 就能跑。
项目标签涵盖当前 AI 领域最热门的关键词:genai、langchain、llama3、llm、agent、chatgpt,定位直指 GenAI 应用开发者群体。

图:Advanced RAG 的技术组件全景,涵盖从查询改写到答案生成的完整链路
项目的核心价值在于它系统性地覆盖了 RAG 技术的演进路径。让我们逐个 Notebook 来看:
第一个 Notebook 从最基础讲起:什么是 RAG,为什么需要 RAG,RAG 和 Fine-tuning 的区别是什么。它构建了一个最简单的 RAG 流程——文档切片、向量化、相似度检索、Prompt 组装、模型生成。这个基础框架是后续所有高级技术的底层依托。
这是高级 RAG 的第一道门槛。当用户输入口语化或模糊的查询时,直接检索往往找不到最相关的内容。Advanced RAG 通过 Query Transformation(查询改写)技术解决这个问题——将复杂查询拆解为多个简单查询(Multi-Query),或者将模糊查询改写为更精确的形式。

图:Multi Query Retriever 通过多路检索提升召回率
在此基础上,Notebook 03 介绍了 Routing(路由)——根据查询类型自动决定调用哪个数据源。比如"最新财报"走财经数据库,"技术文档"走代码知识库,"闲聊"直接走 LLM 不走 RAG。
这一章是 RAG 的"基础设施"核心。Notebook 04 深入讲解了如何选择向量数据库(ChromaDB、FAISS、Pinecone 等),以及如何做索引优化——包括块大小选择、重叠策略、元数据过滤等。索引质量直接决定了检索的召回率和精确率,是 RAG 系统的性能瓶颈所在。
基础检索依赖向量相似度,但相似度不等于相关性。Advanced RAG 介绍了 ColBERT 等 late interaction 检索模型——它们在索引阶段只做轻量级编码,检索时才做精细的词级匹配,兼顾效率和精度。
从第 6 个 Notebook 开始,项目进入了 RAG 演进的下一个阶段。
Self-Reflection RAG 让模型在生成答案后,主动检查答案是否充分、是否有遗漏,并驱动二次检索来补全信息。这解决了 RAG 最大的痛点——"答非所问"。

图:Self-Reflection RAG 通过反思机制驱动迭代检索
Agentic RAG 则更进一步——引入 LangChain Agent,让 RAG 流程本身变成一个可以自主决策的智能体。Agent 可以决定是否需要检索、检索哪个数据源、是否需要多次检索、答案是否需要补充。

图:Agentic RAG 中 Agent 自主调度各工具模块
Adaptive RAG 根据查询的复杂度动态调整检索策略——简单问题直接回答,复杂问题走多步推理和迭代检索。Corrective RAG 则引入了结果验证机制:生成答案后,用另一个模型验证答案是否与检索内容一致,不一致则重新检索。

图:Corrective RAG 通过纠错机制保证答案质量
这是整个系列最"硬核"的一章——不再依赖 OpenAI API Key,而是使用本地部署的 Llama 3 来驱动整个 RAG 流程。项目演示了如何在消费级 GPU(或者通过 Ollama)上运行开源大模型,并用它构建完整的 Agentic RAG 系统。

图:Llama3 Agentic RAG 本地化部署架构
Advanced RAG 的受众定位相对清晰:具备 Python 基础的 AI 开发者。你不需要懂大模型训练,但需要熟悉 Pandas、API 调用等基础知识。
所有 Notebook 都在 Google Colab 或本地 Jupyter 中可直接运行,依赖库以 LangChain 和 OpenAI SDK 为主。对于中国开发者来说,主要门槛在于 OpenAI API Key 的获取——项目在 Notebook 10 中已提供 Llama3 本地化替代方案,降低了对 OpenAI 的依赖。
优点:
局限:
从行业角度看,Advanced RAG 的价值在于它填补了一个重要的学习空白——RAG 进阶技术的系统性中文/英文教程。
当前 RAG 相关的开源项目要么过于基础(只讲向量检索),要么过于垂直(只做某个特定场景的 RAG),鲜少有项目像 Advanced RAG 这样,从 Query Transformation 到 Agentic RAG 到 Corrective RAG,形成一条完整的技术演进路径。
110 颗 Stars 虽不算高,但考虑到项目的受众相对垂直(主要是 AI 应用开发者),且几乎所有 Star 都是真实开发者(项目以代码为核心,无刷星动机),这个数字含金量不低。项目在 GitHub Trending 上也有多次露面,被多个 AI 开发者社区转载。

图:Adaptive RAG Agent 根据查询复杂度动态选择检索策略
回到老张的故事。小王用 Advanced RAG 的 Notebook 07 给他搭了一个"股票舆情 Agentic RAG"——自动从财经新闻、研报、社交媒体多路检索,结合持仓信息生成投资参考。老张试用了一周,虽然 AI 不能预测股价,但至少不会再把退市公司的新闻当成最新消息了。
RAG 不会让 AI 变得全知全能,但它让 AI 的回答变得更可靠、更有依据。Advanced RAG 这套 Notebook,就是你搭建可靠 RAG 系统最好的起点。