《武林RAG奇谭》-RAG原理

开篇诗

万卷秘籍藏古阁,侠客求道恨书多。
偶得奇法通文海,引经据典破万魔。

第一章 大语言门的难言之隐

话说这AI江湖,近年崛起了一个威震四方的大门派——「大语言门」。门中弟子个个天资卓绝,三岁能吟诗作对,五岁可论天下大势,诗词策论、算数谋略无所不精,一出山便搅得江湖风云变色,各大门派都争相请去做门客。

可光鲜背后,门主却愁得夜不能寐,只因门中弟子有五个旁人不知的隐疾,屡闹笑话:

第一是「记性断档」:所有弟子的记忆都停留在拜师那日,之后江湖上新出的武功秘籍、新换的武林盟主、新发生的门派恩怨,一概不知。你问他今年嵩山派掌门是谁,他还支支吾吾答十年前的旧人。

第二是「胡言乱语」:遇到答不上的问题,不肯直说不会,反倒编些子虚乌有的典故搪塞。上次有个弟子硬说《葵花宝典》是武当张三丰所著,差点引得武当和魔教大打出手,赔了三千两银子才了事。

第三是「不通杂学」:弟子们学的都是通用功夫,真要遇到医道、毒经、暗器这些偏门学问,说出来的答案半对半错。上次给人开的跌打药,差点把个壮汉吃成了哑巴,赔了人家半座药堂。

第四是「无据可查」:答出来的话不知出处,你问他“这招式是谁创的”,他自己也说不上来,真要出了差错,连个对质的地方都没有。

第五是「秘事难守」:要是把门派的不传之秘交给弟子记在脑子里,难保不会哪天被人套话泄露出去,风险大得很。

一众长老挠破了头,直到有个云游的老道带了套名为「RAG」的奇功,说能把这五个毛病连根拔除。

第二章 RAG奇功的三重根基

老道捻着胡须笑道:“这‘检索增强生成’的奇功,说穿了就是‘先翻书,再答话’。肚子里记不住不要紧,能找对书、用对书,比死记硬背强百倍。练这功夫,先得打三重基础,一步都错不得。”

第一重:建藏经阁(索引构建,离线功夫)

要翻书,先得有个井井有条的藏经阁。这一步是平日里偷偷做的,不用每次有人来问才临时搭,所以叫「离线功夫」。

第一步:收罗典籍。 不管是帛书、竹简、刻在石壁上的功法,还是印在纸上的医案、官府的邸报,统统收进来,统一誊写在干净的宣纸上——此谓“文档加载”。

第二步:裁分册页。 一本《降龙十八掌》总不能整本塞在架子上,得按招式裁成一页页,每页记一招,相邻两页还得重复半招的心法,免得翻页的时候漏了关键。这便叫“文本切分”。里头有两个讲究:chunk_size是每页写多少字,多了难找,少了不全,通常一页写二百到一千个字最合适;chunk_overlap是相邻两页重复多少字,留个一成两成,就不怕内容接不上。

切分的法子也有讲究:通用的秘籍就按固定字数切,简单省事;讲究语义连贯的医书、心法,就优先按段落、句子切,别把一整句话拆成两半;还有更讲究的,照着内容的意思切,讲同一件事的就放在一页,不一样的就分开;要是遇到有标题、有列表的结构化卷宗,就按着排版的边界切,不乱了章法。

第三步:盖印分类。 请“嵌入长老”给每页册子盖个独特的印戳——练《易筋经》的盖达摩像,练《九阴真经》的盖桃花印,练刀法的盖刀纹,练剑法的盖剑形,内容越像的册子,印戳长得就越像。这叫“向量化”。这印戳的种类也多:通用的印戳什么书都能盖,多语言的秘籍也难不住;还有能盖图画的,连剑谱上的招式图都能认;还有专门认关键词的,你说“降龙十八掌”,它一找一个准;还有专门用来排序的,盖出来的印能分得出哪页更有用。

第四步:入库存放。 把这些册子按着印戳的样子分门别类摆进藏经阁的格子里,要找相似的功法一找一个准。这藏经阁也分好几种:FAISS阁是纯木架,轻便快捷,适合小门派用;Milvus阁是石砌的,能装百万卷书,大门派都爱用;Chroma阁搭起来最容易,刚起步的小帮派三天就能建好;还有Pinecone、Weaviate、Qdrant这些,各有各的好处,按需选就是。

第二重:探囊取书(检索阶段,在线功夫)

有人来问问题了,先不急着答,先去藏经阁找对应的书。这一步是有人问才做的,要快,所以叫「在线功夫」。

第一步:给问题盖印。 把来人问的问题,也交给嵌入长老盖个和册页一样的印——此谓“查询向量化”。

第二步:按印找书。 拿着这印去藏经阁里找,把印戳最像的前几页册子都找出来,这叫“相似度搜索”。刚开始找出来的可能有真有假,比如问“降龙十八掌怎么练”,可能混进来一本《降蛇十八掌》的伪作,这时候就请“重排序长老”来把把关,把真有用的排在前面,没用的伪作统统扔掉——这便是“重排序”。

这找书的法子也在不断精进:最早只看印像不像;后来既看印又看关键词,找得更准了,唤作“混合检索”;再后来同时找好几个藏经阁的书,凑到一起再排序,漏了重要内容的概率就小多了;现在还有更聪明的,先把问题改得更明白,或者先假设一个答案照着找,比之前准了不止一倍。

第三重:出口成章(生成阶段)

找出来的册子都摆在面前了,就可以答话了。

第一步:攒齐话头。 把找出来的几页册子和来人的问题放在一起,递给出题的弟子,叮嘱他“就照着这几页的内容答,不许自己瞎编”——这叫“上下文组装”。

第二步:开口答话。 弟子看完了册子,把上面的内容揉成通顺的话讲给来人听,还得补上“这答案出自《降龙十八掌》第三卷第十七页,《乔峰手记》第二十四节”,让人不信的话自己去翻——此乃“大模型生成”加“引用标注”。

第三步:整理收尾。 把说出来的话理得顺顺当当,该标出处的标清楚,该分行的分行,让人看着明白。

第三章 RAG功法的进阶之路

老道又说:“刚才说的只是基础的‘Naive RAG’,对付普通问题还行,遇到复杂的就不够用了,还有四层进阶的功法,一层比一层厉害。”

第一层:高级RAG

遇到有人问“我内力不足,能不能学降龙十八掌”,先把问题拆成“学降龙十八掌需要多少内力”“内力不足怎么练外门掌法”两个小问题,分别去找书,再把答案拼起来答;要是找出来的册子太多,就先把每本的要点摘出来,再拼在一起回答,省得翻起来费时间;还有专门的句子窗口检索、自动合并检索器,找出来的内容更全更准。

第二层:模块化RAG

把RAG的各个环节都做成可以随时换的模块:藏经阁不仅放武功秘籍,还连了隔壁的医馆药典、唐门毒经、朝廷邸报,遇到医道的问题就去医馆找,遇到暗器的问题就去唐门找,这叫“多源检索”;还记得之前有人问过什么问题,下次再有人问类似的,直接拿之前找好的册子用,此为“记忆模块”;还有专门的“路由弟子”,看着问题是要找武功还是要找医案,就派去对应的藏经阁;要是问题太复杂,就多找几次,直到找全为止。

第三层:智能体RAG

练到这层,弟子自己就会判断要不要找书:遇到简单的“丐帮现任帮主是谁”,自己知道就直接答;遇到难的“怎么用九阴真经心法搭配降龙十八掌”,就自己去藏经阁找,找完了还会自己检查找的对不对,不对就再找一遍,直到找到能回答的资料为止——此乃“自主决策”与“反思机制”。要是藏经阁里没有,还能自己去翻江湖小报、问官府的驿卒,什么资料都能找得到;更厉害的门派,还有专门负责找书的、专门负责验真伪的、专门负责答话的,几个弟子配合着来,比一个人靠谱多了。

第四层:图RAG

这是现下最厉害的功法,不仅把书摆进藏经阁,还把秘籍里的人物、招式、关系都画成了一张大网:知道乔峰是丐帮帮主,乔峰会降龙十八掌,降龙十八掌需要阳刚内力,有人问“乔峰的功夫适合女子练吗”,顺着这张网一找就知道,不用翻遍所有丐帮的书。现在最有名的是微软的GraphRAG,还有结合图数据库的Neo4j方案,效率比普通功法高了好几倍。

第四章 RAG奇功的难关与破解之法

老道话锋一转,正色道:“虽说RAG功法精妙,可练功途中也有几道难关,若过不去,功夫便大打折扣。”

第一关:检索不准。 有时找到的全是无关内容,有时漏了关键册子。破解之法有三:一是“混合检索”,既看印戳又看关键词;二是请“重排序长老”把关;三是用“查询重写”之术,先把问题改得明明白白,再去检索。

第二关:书页太多,嘴巴装不下。 找出来的册子几十页,弟子一口气说不了那么多。破解之法是用“上下文压缩”,只取每页最要紧的几句;或者用“Map-Reduce”策略,先把每页的要点单独摘出来,再汇总成一段话。

第三关:多跳推理。 有的问题要翻三四本书、串起七八个人物才能答出来。比如问“当年害死乔峰父母的仇人,用的是哪门哪派的武功?”这得先找仇人是谁,再找那人用何武功,再找那武功出自何派。破解之法是“迭代检索”——找一次不够,就拿着找到的线索再去找,直到水落石出;或者直接用“图RAG”,顺着人物关系网一查便知。

第四关:水土不服。 通用的嵌入印戳,拿到西域或者东洋的秘籍上就不太灵光了。破解之法是“领域微调”——找些本门本派的秘籍,让嵌入长老照着多练练,自然就精通了。

第五章 江湖上的RAG名门与评估法门

老道捋须道:“如今AI江湖里做RAG的门派不少,各有各的绝活。”

  • • LangChain帮:最是势大,什么工具都有,灵活得很,不管你想搭什么样的藏经阁都能满足。
  • • LlamaIndex派:专门做各种书的接口,不管是刻在石头上的还是写在丝帛上的,都能帮你收进藏经阁。
  • • Haystack堂:企业级的路子,流程规整,大帮派用着放心。
  • • RAGFlow堂:中土本地的门派,对中文秘籍最是精通,连竖排的古医书都能切分得明明白白。
  • • Dify门:门槛最低,哪怕你不会建藏经阁,跟着步骤走,半天就能搭出个能用的问答系统。
  • • FastGPT派:专门做知识库问答,对中文用户特别友好。

若是想知道自己的RAG功法练得好不好,有专门的「评估四尺」可以量:

第一尺量“找得准不准”——看看找出来的书是不是真和问题相关,有没有漏了重要内容;
第二尺量“答得对不对”——说出来的话是不是通顺,有没有答非所问;
第三尺量“有没有瞎编”——答出来的内容是不是都在找出来的册子里,没有自己胡诌的部分;
第四尺量“用得对不对”——有没有把没用的册子内容加进去,有用的是不是都用上了。

如今最常用的量尺唤作“RAGAS”,还有TruLens、Arize Phoenix这些,各有各的用处。更有甚者,专门派人在边上盯着,一旦出了错立刻就能发现,这叫“持续监控”。

第六章 RAG奇功的妙用与未来

自从各大门派练了RAG奇功,江湖上的麻烦事少了大半:

丐帮的弟子遇到帮众问帮规,不用再翻厚厚的《丐帮典籍》,随口就能答,还能准确说是第几章第几条;医馆的大夫遇到少见的病症,直接翻遍历朝历代的医案,给出的方子比行医三十年的老大夫还准;镖局走镖之前问一句“下个月走川陕道有什么山贼出没”,立刻就能调出最近三个月的绿林月报,连山贼头目的喜好都能说得清清楚楚;私塾的先生遇到学生提问,不用翻遍四书五经,找出来的注解比国子监的老先生还全。

老道说到此处,抬眼望向远方:“这RAG功法还在不断精进。往后既能认文字,又能看图画、听声音,什么资料都能找——这叫‘多模态RAG’;刚印出来的邸报,转眼就能放进藏经阁,随时能查——这叫‘实时RAG’;小门派不用搭大藏经阁,在自己家门口就能用——这叫‘边缘RAG’;再往后,和弟子本身的功夫结合起来,既记得住通用的知识,又能随时找最新的资料,比现在厉害百倍。”

收尾诗

学海无涯不必愁,奇功引道访书楼。
真义何须强记忆,一卷在手定春秋。

从此之后,江湖上再也没人笑大语言门的弟子是“死记硬背的书呆子”。有了RAG奇功,个个都成了“遇事不慌的活字典”——毕竟能自己翻书找答案,谁还靠死记硬背啊?


知识坐标

- 检索增强生成(RAG):先检索外部知识库再生成回答的技术框架
- 索引构建(Indexing):文档加载、切分、向量化、存储的离线处理流程
- 检索阶段(Retrieval):将用户问题转为向量匹配相关文本块的在线流程
- 生成阶段(Generation):基于检索上下文生成回答并标注来源的流程
- 文本切分(Chunking):将长文档切分为固定/语义块,相邻块重叠处理
- 嵌入模型(Embedding Model):将文本转为高维向量用于相似度匹配
- 向量数据库:专门存储文本向量、支持相似度搜索的数据库
- 重排序(Reranking):检索后用更精确模型对结果重新排序的优化方法
- 高级RAG(Advanced RAG):引入查询优化、上下文压缩等技术
- 模块化RAG(Modular RAG):流程拆分、支持多源检索与记忆的可插拔架构
- 智能体RAG(Agentic RAG):结合AI Agent自主判断检索需求的前沿方案
- 图RAG(Graph RAG):构建知识图谱辅助多跳推理的RAG方案
- RAG评估:从检索准确率、生成忠实度等维度评估RAG效果的体系

 

阅读剩余
THE END