编辑推荐
在咖啡馆等人的时候翻这本书,旁边哥们在用Dify拖拽搭建知识库,看我对着代码发呆,问了一句:“这年头还有人手写RAG?”有。作者黄佳,咖哥,是那种“我一定要拆开看看里面到底什么结构”的人。这本书从头到尾教你不用LangChain、不用LlamaIndex,纯手工打造一个RAG系统。从数据导入、文本分块、嵌入模型选型,到向量数据库的索引类型和搜索参数,每个环节都拆开来讲。书中还虚构了一个“小雪、咖哥、小冰”三个程序员创业做AI文旅项目的故事线,算是技术书里少有的轻松阅读体验。但说实话,有些章节的代码量确实大,对新手不太友好。
书籍封面

内容简介
这本书围绕RAG系统的完整生命周期展开,从数据导入到系统评估,拆解了十个核心组件。作者最想推翻的旧观念是“RAG就是调个LangChain/ LlamaIndex的API”,他坚持用手写代码的方式还原每个组件的底层逻辑。书中用了大量《黑神话:悟空》和山西文旅的案例数据,比如用PyMuPDF和Unstructured解析PDF文档中的表格、用BGE-M3模型同时生成密集和稀疏向量进行混合检索。第2章详细对比了多种分块策略,包括递归分块、语义分块、命题分块,并给出了ChunkViz等可视化工具的使用方法。第3章深入讲解了嵌入模型的发展史,从Word2Vec到Visualized_BGE多模态模型,还附带了MTEB排行榜解读和模型选型考量。第4章以Milvus为例,手把手演示了索引类型(FLAT、IVF_FLAT、HNSW)和度量标准(L2、IP、余弦相似度)的选择逻辑。
作者简介
黄佳,笔名“咖哥”,在商界和技术领域均有多年经验,著有《零基础学机器学习》《GPT图解 大模型是怎样构建的》《大模型应用开发 动手做AI Agent》等技术图书。他曾在多个AI社区和技术论坛活跃,擅长用通俗易懂的方式讲解复杂技术。作者在这本书中自嘲“不是学院派演讲者”,而是“真诚地分享技术细节”。他的写作风格偏实干,喜欢附上完整代码和运行结果,但有时内容密度过高,容易让读者跟不上节奏。
本书金句
“RAG通过将信息检索和文本生成相结合,使得大模型的回答更有依据且上下文相关,从而提高了回答的质量、可靠性和即时性。”(开篇 RAG三问)
“如果自由不包括犯错的自由,那这样的自由就不值得拥有。”(第3章,嵌入技术)
“并非所有文本块都需要嵌入,需要注意的是,嵌入模型规定了每个块的最大token数,但这并不意味着你的分块需要达到这个最大长度。”(第2章,文本分块)
“可以说,在当前阶段,我所接触到的大模型落地应用项目中,RAG技术栈是最常被采用且最为扎实的选择,无论从项目数量还是应用质量上看,都超过了AI Agent这条开发路径。”(序言)
读后感
加班间隙翻这本书,看到第2章关于分块策略那部分,有个细节让我停了一下。作者说“假设山西文旅建立了一个包含山西省各地景点和活动的知识库。如果一个文本块包含了关于‘五台山、云冈石窟、太原游乐场’的描述,当用户询问‘适合带小朋友玩的景点’时,这个综合信息块可能不会得到很高的检索评分。”就是这个例子,我盯着看了半天。因为上周我刚好在做一个类似的项目,把一堆文档扔进向量库,用户问“附近有什么好吃的”,结果返回了一堆景点的历史介绍。我当时以为是模型出了问题,现在才反应过来,是分块策略没选对。
说实话,第4章关于向量数据库索引类型那部分,我反复看了两遍还是有点糊。HNSW和IVF_FLAT的区别,作者画了图,但文字描述还是有点绕。不过后面的混合检索示例倒是看懂了,用BGE-M3同时生成密集和稀疏向量,再通过WeightedRanker加权融合。这个思路挺有意思,我打算下周试一下。
有一段话让我想了很多。作者说“RAG技术栈是最常被采用且最为扎实的选择,超过了AI Agent”。我其实不太同意,起码在我接触的项目里,两者结合才是主流。但这话有它的道理,至少RAG的落地门槛确实低很多。
我把书合上,去茶水间接了杯水。回来看到代码框里还有一行待补全的API Key,算了,明天再说。
阅读人群
正在用LangChain/LlamaIndex搭RAG系统但总觉得不够“通透”的开发者;AI应用落地中遇到“检索结果不准确”问题、想从底层找原因的技术人员;刚入行、被各种RAG框架(Dify、FastGPT、Coze)搞晕的新手工程师。不适合只想“拖拽搭建”的低代码用户,这本书的代码量很大,纯手工实现。
豆瓣评分
9.3分
短评:“代码量确实大,但讲得真细。那章讲嵌入模型选型,比看论文还清楚。不过作者虚构的‘小雪咖哥’故事线有点尬,我是跳着看的。”
《大模型应用开发:RAG实战课》电子书
本站为非经营类网站,资源全部来源于网络,不制作和存储任何资源,资源版权归原著作权人所有,请于下载后24小时内删除,如涉版权或其他问题请E-Mail联系,我们将及时撤销相应资源!
