
OKOK大家好欢迎大家来到大鹏 AI 教育我是张大鹏。这篇文章记录我在RuyiBookCourse里思考 RAG 能力的一次真实决策。前面我已经把这个项目从一个“电子书资料目录”整理成了一个可以继续开发的本地产品项目。现在项目里有解析代码有课程输出目录也有真实的电子书章节 Markdown。但做到这一步以后我反而更清楚地意识到一件事电子书不是拆成 Markdown 就结束了。如果一个项目只能把 EPUB、PDF 拆成一堆章节文件它更像整理工具。如果它能围绕这些章节回答问题、生成学习路线、辅助写课、追溯来源它才开始接近我想要的“电子书转课程”产品。这就是我为什么要考虑给RuyiBookCourse接入 RAG。我现在真正缺的是什么RuyiBookCourse目前已经能处理一些真实资料。比如数据分析\Python 数据分析\英文版 数据分析\学习 D3.js\英文版这些目录里放的不是示例文本而是从电子书里解析出来的章节 Markdown。这已经很有价值。但我在使用过程中遇到的问题也很明显。我想问Python 数据分析这本书适合怎么学D3.js 里 scales 和 axes 哪个应该先讲哪些章节适合改造成练习课如果我要做数据分析课程应该先讲 pandas 还是可视化当前项目里有哪些书已经解析好了这些问题不应该每次都靠我手动打开文件、翻目录、复制粘贴给 AI。如果每次都这样AI 只是临时帮忙不是项目能力。我希望的是项目自己可以查询自己的文档。为什么我没有直接把所有 Markdown 丢给大模型最简单的办法是把所有 Markdown 都塞进提示词。但我没有这么做。原因很直接。第一电子书内容会越来越多。现在只是几本书后面可能是几十本、上百本。一本书十几章、几十章全部塞进上下文不是长期方案。第二用户的问题通常只需要局部内容。我问 D3.js 的比例尺不需要把 Python 数据分析、统计检验、机器学习章节全部带进去。第三课程化需要引用来源。如果 AI 给我一个学习建议我要知道它来自哪本书、哪一章、哪个 Markdown 文件。没有来源课程内容就会变成“看起来合理”但不够可追踪。所以我更倾向于 RAG。RAG 的核心不是让模型记住所有资料而是先从本地文档里找出最相关的片段再让模型基于这些片段回答。为什么我先看硅基流动这个项目是本地产品但我不想一开始就把模型服务做得很重。如果从第一天就自己部署 embedding、rerank、chat 模型工程负担会立刻上来模型下载显存要求推理服务Windows 本地兼容并发和缓存后续模型更新这些事情都重要但不是第一阶段最重要。第一阶段我更关心的是把产品链路跑通。硅基流动适合这个阶段是因为它提供了模型 API可以让我先把 RAG 的业务流程跑起来。我更关心的是Markdown - chunk - embedding - retrieval - rerank - answer with citations而不是一开始就陷入模型部署。项目里的.env已经可以保存本地 API Key。但这里有一个底线博客和代码里都不能写出真实 key。.env只留在本地并且必须在.gitignore里。我会怎么设计第一版 RAG我的判断是RuyiBookCourse第一版 RAG 不应该先做成一个庞大的 Web 知识库。它应该先做成本地 CLI 能力。比如uv run bookcourse rag index uv run bookcourse rag status uv run bookcourse rag queryPython 数据分析这本书应该怎么学uv run bookcourse rag clean这样做有几个好处。第一它符合项目现在的形态。当前项目已经有uv run bookcourse probe uv run bookcourse study-md uv run bookcourse study-validate uv run bookcourse convert新增 RAG 命令不会破坏现有节奏。第二它适合 AI 自动化。AI 可以先执行rag index再执行rag query最后把结果用于课程大纲、博客、讲义和练习生成。第三它方便以后扩展。CLI 跑通以后再做 Web UI、后台管理、课程问答页面都有底层能力可以复用。我会怎么组织索引我不会只把纯文本丢进向量库。因为电子书转课程最重要的不是“能搜到”而是“知道搜到的内容是什么”。每个 chunk 至少应该带这些信息book_title subject version chapter_title chapter_file chunk_index source_path这样 AI 回答时才能说清楚这个观点来自哪本书哪一章哪个文件。对课程生产来说这一点非常关键。我不会急着做什么我暂时不会急着做一个很重的平台。比如一开始就接复杂权限、多用户、在线文档管理、可视化工作流这些都不是当前阶段的核心。RuyiBookCourse现在最重要的是把几个底层动作做扎实电子书解析稳定章节 Markdown 干净chunk 规则可控检索结果可追溯回答能引用来源这些能力稳定以后再谈平台化才有意义。我的下一步我的下一步不是写一个漂亮的知识库页面。我的下一步是把 RAG 做进项目命令里。先让它能索引数据分析目录下已经解析好的章节 Markdown。再让它能回答真实问题。最后让它服务课程生产。如果这条链路跑通RuyiBookCourse就不只是“电子书转 Markdown”。它会开始变成一个真正能辅助我学习、备课、写作和做课程的本地知识产品。参考资料硅基流动快速开始https://docs.siliconflow.com/en/userguide/quickstart硅基流动模型列表https://www.siliconflow.com/models硅基流动 Rerank APIhttps://docs.siliconflow.cn/en/api-reference/rerank/create-rerank