返回AI书列表
📚 TheAIEra Book 10 章

生产级 Agentic RAG 实战:从 arXiv 论文助手到 Telegram Bot

基于开源课程 production-agentic-rag-course 的中文整理版

作者:itech001 GitHub

把开源课程 production-agentic-rag-course 整理成 10 章中文实战书:从 Docker 基础设施、arXiv 摄取管线、BM25 与混合检索、本地 LLM 与流式输出,到 Langfuse 观测、Redis 缓存、LangGraph Agentic RAG 与 Telegram Bot。

RAGAgentic RAGOpenSearchLangGraphAirflowDocker教程书籍

📖 本书大纲

生产级 Agentic RAG 实战:从 arXiv 论文助手到 Telegram Bot

关于本书

大多数 RAG 教程有一个共同的坏习惯:讲完 Embedding 就直接跳到向量检索,好像关键词搜索是上个时代的东西。真到了生产环境你会发现,检索质量的地基是关键词检索——学术论文里的专有名词、缩写、模型名、数据集名,向量模型经常抓不准,而 BM25 一找一个准。

这本书整理的课程走的是另一条路:先把搜索做扎实,再叠语义层。它以"arXiv 论文助手"为主线,用七周时间把一个只跑得起来的 Demo,做成一套有数据管线、有混合检索、有本地 LLM、有监控缓存、还会自己做决策的系统:

基础设施(Docker + FastAPI + PostgreSQL + OpenSearch + Airflow)
  → 数据摄取(arXiv API + Docling PDF 解析 + Airflow 日更 DAG)
    → 关键词检索(OpenSearch mapping + BM25 + Query DSL)
      → 分块与混合检索(section-based chunking + Jina Embedding + RRF 融合)
        → 完整 RAG 管线(Ollama 本地 LLM + SSE 流式 + Gradio)
          → 可观测性与缓存(Langfuse tracing + Redis 缓存)
            → Agentic RAG(LangGraph 决策图 + 护栏 + 文档打分 + 查询重写)
              → 移动端入口(Telegram Bot)

读完你应该能回答三个问题:一套生产级 RAG 由哪些部件组成、每个部件的取舍在哪里、以及把这套东西搬到自己的领域要换掉什么。

内容结构总览

全书 10 章,对应原课程的七个阶段:

章 主题 核心内容 对应阶段
第 1 章 项目全景:为什么专业 RAG 先做关键词检索 六阶段项目定位、"搜索优先"路线判断、七周路线图、最终系统能力清单、技术栈 总览
第 2 章 第一周:用 Docker Compose 搭起 RAG 的基础设施 五个服务与端口编排、健康检查、uv 与 Makefile、代码质量工具、Ollama 本地模型 Week 1
第 3 章 第二周:arXiv 论文摄取管线与 PDF 解析 ArxivClient 限流重试、Docling 解析科学 PDF、Airflow 日更 DAG、PostgreSQL 存储 Week 2
第 4 章 第三周:BM25 关键词检索,被低估的地基 索引 mapping 与分词、BM25 打分原理、Query DSL 过滤与加权、相关性评估 Week 3
第 5 章 第四周:分块策略与混合检索(RRF 融合) 章节级切分与 overlap、Jina Embedding 与回退、RRF 融合、统一搜索 API Week 4
第 6 章 第五周:接上本地 LLM,把检索变成对话 Ollama 本地推理、系统提示词精简、SSE 流式、双端点设计、Gradio 界面 Week 5
第 7 章 第六周:可观测性与缓存,让 RAG 能上生产 Langfuse 端到端 tracing、Redis 缓存键与 TTL、提速与成本口径 Week 6
第 8 章 第七周(上):用 LangGraph 把 RAG 变成会决策的 Agent 护栏、检索、文档打分、查询重写、生成五个节点与自适应检索 Week 7
第 9 章 第七周(下):Telegram Bot,把 RAG 装进口袋 Bot 架构、命令处理、异步与错误处理、移动端接入 Week 7
第 10 章 收尾:工程化清单与把案例迁移到自己的领域 目录结构与分层、API 与命令总表、配置与密钥、测试、排障、迁移清单 工程化

建议的读法

  • 想先看这套系统长什么样:第 1 章读完,直接跳到第 8 章看 Agentic RAG 的决策图,再回头补细节。
  • 要自己搭一套:第 2 → 3 → 4 章顺序做,这三周决定了后面所有环节的上限。
  • 检索效果不好:重点看第 4 章的 BM25 与 Query DSL、第 5 章的分块策略。多数"RAG 效果差"的问题出在这两章的范围内,而不是换更大的模型。
  • 已经能跑但不敢上线:第 7 章(观测与缓存)+ 第 10 章(工程化清单)。
  • 想做成产品:第 9 章的移动端入口+第 8 章的推理透明,是给非技术用户用起来的关键。

来源与授权

  • 原课程仓库:jamwithai/production-agentic-rag-course,MIT License,作者 Shirin Khosravi Jam 与 Shantanu Ladhwe。
  • 原课程配套文章:每周一篇写在 jamwithai.substack.com,本书在每章参考链接里给出了对应文章。
  • 本书定位:对原仓库 README、各周 notebook 说明与代码结构的中文整理与改写,代码与命令保持原样,便于对照仓库实操。原仓库处于持续更新状态,以仓库最新代码为准。
  • 书中图片来自原仓库 static/ 目录,已本地化到本书目录。

📑 章节目录

1

第 1 章:项目全景:为什么专业 RAG 先做关键词检索

拆解 The Mother of AI project 第一阶段 arXiv Paper Curator 的定位、Week 0-7 路线、技术栈与成本,说清为什么专业 RAG 先做关键词检索。

2

第 2 章:第一周:用 Docker Compose 搭起 RAG 的基础设施

用 Docker Compose 一次拉起 FastAPI、PostgreSQL 16、OpenSearch 2.19、Airflow 3.0 与 Ollama,跑通健康检查,并配好 uv、Makefile 与代码质量工具。

3

第 3 章:第二周:arXiv 论文摄取管线与 PDF 解析

用 MetadataFetcher 编排 ArxivClient 限流抓取、Docling 解析 PDF,由 Airflow DAG 每日调度,幂等写入 PostgreSQL。

4

第 4 章:第三周:BM25 关键词检索,被低估的地基

以 OpenSearch 2.19 与 BM25 为核心,讲清索引 mapping、Query DSL、搜索 API、相关性评估与关键词检索在生产 RAG 中的位置。

5

第 5 章:第四周:分块策略与混合检索(RRF 融合)

拆解 Week 4 的 section-based chunking、Jina AI embeddings 接入、RRF 融合的混合检索与统一搜索 API 的工程取舍。

6

第 6 章:第五周:接上本地 LLM,把检索变成对话

第 5 周把 hybrid search 接到 Ollama 本地 LLM:80% 的 prompt 缩减换来约 6 倍加速,SSE 流式输出、双端点设计与 Gradio 调试界面。

7

第 7 章:第六周:可观测性与缓存,让 RAG 能上生产

给 Week 5 的 RAG 流水线接上 Langfuse tracing 与 Redis 精确匹配缓存,把重复查询从 15-20 秒压到百毫秒级,并建立成本与性能看板。

8

第 8 章:第七周(上):用 LangGraph 把 RAG 变成会决策的 Agent

拆解 Week 7 的 LangGraph Agentic RAG:guardrail、retrieve、grade、rewrite、generate 五类节点如何构成状态图,以及新端点的请求响应与测试场景。

9

第 9 章:第七周(下):Telegram Bot,把 RAG 装进口袋

拆解 Week 7 的 Telegram Bot 集成:服务目录、命令处理器、消息流程、异步与错误处理、Agentic RAG 端点对接与端到端验证。

10

第 10 章:收尾:工程化清单与把案例迁移到自己的领域

把前九章的零件收成一份可执行清单:目录分层、API 端点、Makefile 与 docker 命令对应、环境变量与 key、测试与排障、成本口径,以及迁移到自己领域时要替换的五类部件。