本書全面解析了RAG 技術(shù),涵蓋從理論基礎(chǔ)到實(shí)戰(zhàn)應(yīng)用的各個(gè)方面。書中首先對(duì)RAG 的背景、定義及與相關(guān)技術(shù)的關(guān)系進(jìn)行了清晰闡述,然后深入剖析了RAG 的框架,并詳細(xì)講解了數(shù)據(jù)構(gòu)建、數(shù)據(jù)檢索及響應(yīng)生成等關(guān)鍵環(huán)節(jié)。此外,本書還探討了RAG 的評(píng)估與優(yōu)化方法,以及該領(lǐng)域的前沿技術(shù)。最后通過項(xiàng)目實(shí)戰(zhàn)案例,幫助讀者將所學(xué)知識(shí)應(yīng)用于實(shí)際項(xiàng)目,提升解決問題的能力。
【實(shí)力推薦】國(guó)企技術(shù)專家、大廠AI研究員、知名開源項(xiàng)目作者及科技媒體號(hào)主聯(lián)袂推薦,為初學(xué)者提供可靠學(xué)習(xí)指南。
【好讀易學(xué)】?jī)?nèi)容清晰簡(jiǎn)明,邏輯層層遞進(jìn),零基礎(chǔ)也能輕松掌握RAG核心原理與實(shí)踐技巧。
【完整實(shí)戰(zhàn)】包含從零搭建RAG系統(tǒng)的全流程案例,配套完整源碼,讀完即可動(dòng)手實(shí)現(xiàn)自己的項(xiàng)目。
張其來,高級(jí)算法工程師,擁有7年人工智能研發(fā)經(jīng)驗(yàn),先后就職于阿里、百度、滴滴、浪潮等互聯(lián)網(wǎng)大廠,領(lǐng)導(dǎo)多項(xiàng)省部級(jí)大模型知識(shí)庫(kù)研發(fā)項(xiàng)目。擅長(zhǎng)寫作,業(yè)余時(shí)間在公眾號(hào)“芝士A吃魚”分享大模型、RAG、Agent等知識(shí)。
徐思琪,天津大學(xué)碩士,高級(jí)研發(fā)工程師,深耕自然語言處理領(lǐng)域多年,持有多項(xiàng)發(fā)明專利并主導(dǎo) 10余個(gè)工業(yè)級(jí)項(xiàng)目落地。研究聚焦智能問答系統(tǒng)、輿情分析及知識(shí)圖譜構(gòu)建三大方向,擅長(zhǎng)基于業(yè)務(wù)場(chǎng)景打造全鏈路解決方案。
第 1章 RAG概述 1
1.1 RAG的由來和定義 1
1.2 RAG的必要性 7
1.3 RAG和微調(diào) 11
1.3.1 技術(shù)對(duì)比與適用場(chǎng)景分析 11
1.3.2 應(yīng)用場(chǎng)景分析與選擇策略 14
1.3.3 RAG和微調(diào)的結(jié)合趨勢(shì) 16
1.3.4 小結(jié) 17
1.4 RAG和長(zhǎng)上下文 18
1.5 總結(jié) 20
第 2章 RAG框架詳解 21
2.1 觸發(fā)檢索的判斷策略 21
2.1.1 基于相關(guān)性的觸發(fā)策略 22
2.1.2 基于問題類型的觸發(fā)策略 25
2.1.3 基于交互歷史的自適應(yīng)觸發(fā) 26
2.1.4 基于知識(shí)庫(kù)狀態(tài)的觸發(fā)調(diào)整 27
2.2 大模型自身知識(shí)和檢索知識(shí)的平衡 28
2.2.1 檢索知識(shí)與大模型自身知識(shí)的沖突解決 28
2.2.2 檢索知識(shí)與大模型自身知識(shí)的互補(bǔ)融合 29
2.2.3 小結(jié) 31
2.3 RAG常見范式 32
2.3.1 順序式RAG 32
2.3.2 分支式RAG 34
2.3.3 循環(huán)式RAG 38
2.3.4 小結(jié) 42
2.4 總結(jié) 43
第3章 RAG數(shù)據(jù)構(gòu)建 44
3.1 向量化技術(shù)概述 44
3.1.1 引言 44
3.1.2 向量化技術(shù)在RAG中的作用 46
3.1.3 RAG任務(wù)對(duì)向量模型的特殊需求 49
3.1.4 向量模型的評(píng)估與選擇 51
3.1.5 小結(jié) 54
3.2 向量數(shù)據(jù)庫(kù):數(shù)據(jù)管理的新范式 54
3.2.1 引言 54
3.2.2 什么是向量數(shù)據(jù)庫(kù) 55
3.2.3 向量數(shù)據(jù)庫(kù)與傳統(tǒng)數(shù)據(jù)庫(kù)的對(duì)比 56
3.2.4 向量索引技術(shù) 57
3.2.5 向量數(shù)據(jù)庫(kù)的選擇 59
3.2.6 小結(jié) 61
3.3 RAG數(shù)據(jù)解析 62
3.3.1 多源異構(gòu)數(shù)據(jù)的挑戰(zhàn)與難點(diǎn) 62
3.3.2 RAG系統(tǒng)的數(shù)據(jù)整合與處理 63
3.3.3 案例分析:利用LangChain 處理多源異構(gòu)數(shù)據(jù) 65
3.3.4 小結(jié) 68
3.4 RAG數(shù)據(jù)處理 68
3.4.1 文本分割 68
3.4.2 數(shù)據(jù)組織 73
3.4.3 基于 DeepSeek 和 Ollama 的代碼實(shí)踐 76
3.4.4 小結(jié) 80
3.5 總結(jié) 80
第4章 RAG數(shù)據(jù)檢索 82
4.1 用戶查詢理解 82
4.1.1 查詢的特點(diǎn)與挑戰(zhàn) 82
4.1.2 查詢理解技術(shù) 83
4.1.3 小結(jié) 88
4.2 基礎(chǔ)檢索范式 89
4.2.1 語義向量檢索 89
4.2.2 關(guān)鍵詞檢索 93
4.2.3 混合檢索 94
4.2.4 小結(jié) 96
4.3 從基礎(chǔ)到高級(jí):多元化的檢索范式 97
4.3.1 細(xì)化的檢索邏輯 97
4.3.2 生成假設(shè)性答案 102
4.3.3 迭代式檢索 102
4.3.4 分步提示 103
4.3.5 基于表示模型的檢索 105
4.3.6 重寫-檢索-閱讀 111
4.3.7 基于知識(shí)庫(kù)的語義增強(qiáng) 113
4.3.8 小結(jié) 113
4.4 重排模塊 114
4.4.1 重排模塊的必要性 114
4.4.2 重排模塊的方法 116
4.4.3 重排模塊的選擇和效果評(píng)估 121
4.4.4 小結(jié) 123
4.5 RAG上下文壓縮技術(shù) 124
4.5.1 上下文壓縮的目的 124
4.5.2 上下文壓縮的策略 125
4.5.3 小結(jié) 127
4.6 總結(jié) 128
第5章 RAG響應(yīng)生成 129
5.1 提示工程在RAG中的應(yīng)用 129
5.1.1 提示工程基本概念介紹 129
5.1.2 提示的類型與應(yīng)用 130
5.1.3 RAG中常見的高級(jí)技巧 132
5.1.4 RAG中的提示工程實(shí)踐 136
5.1.5 提示的優(yōu)化策略 141
5.1.6 小結(jié) 143
5.2 RAG中的監(jiān)督微調(diào)技術(shù) 143
5.2.1 監(jiān)督微調(diào)的必要性和應(yīng)用價(jià)值 144
5.2.2 面向檢索結(jié)果的RAG微調(diào) 144
5.2.3 面向下游任務(wù)的RAG微調(diào) 148
5.2.4 小結(jié) 151
5.3 其他RAG技術(shù)的探索 151
5.3.1 大模型的選擇與優(yōu)化 151
5.3.2 RAG中的解碼策略 153
5.3.3 融合外部知識(shí)增強(qiáng)RAG生成 155
5.3.4 RAG的多模態(tài)擴(kuò)展 156
5.3.5 RAG的主動(dòng)問答與交互能力 163
5.4 RAG的安全性與倫理性思考 165
5.5 總結(jié) 168
第6章 RAG的評(píng)估和優(yōu)化 169
6.1 RAG的評(píng)估 169
6.1.1 評(píng)估指標(biāo) 169
6.1.2 評(píng)估方法 172
6.1.3 評(píng)估基準(zhǔn) 175
6.1.4 小結(jié) 179
6.2 RAG落地常見問題和優(yōu)化方案 180
6.2.1 數(shù)據(jù)問題 180
6.2.2 檢索問題 182
6.2.3 生成問題 184
6.2.4 其他開放性問題 188
6.2.5 小結(jié) 191
6.3 前沿RAG方法 191
6.3.1 動(dòng)態(tài)相關(guān)RAG 191
6.3.2 Graph RAG 192
6.3.3 FlashRAG 193
6.3.4 DocReLM 195
6.3.5 小結(jié) 196
6.4 總結(jié) 197
第7章 項(xiàng)目實(shí)戰(zhàn) 198
7.1 搭建基礎(chǔ)RAG系統(tǒng) 198
7.1.1 代碼實(shí)戰(zhàn) 198
7.1.2 小結(jié) 203
7.2 優(yōu)化RAG檢索模塊 204
7.2.1 實(shí)現(xiàn)多種檢索策略 204
7.2.2 比較不同檢索策略的性能 206
7.2.3 小結(jié) 208
7.3 增強(qiáng)RAG生成模塊 208
7.3.1 代碼實(shí)戰(zhàn) 209
7.3.2 小結(jié) 214
7.4 RAG與知識(shí)圖譜的結(jié)合實(shí)踐 214
7.4.1 代碼實(shí)戰(zhàn) 214
7.4.2 小結(jié) 226
7.5 多模態(tài)RAG 227
7.5.1 代碼實(shí)戰(zhàn) 227
7.5.2 多模態(tài)RAG的優(yōu)勢(shì)和局限性 231
7.5.3 優(yōu)化和擴(kuò)展建議 232
7.5.4 小結(jié) 233
7.6 RAG系統(tǒng)優(yōu)化與調(diào)試 233
7.6.1 性能優(yōu)化 233
7.6.2 檢索結(jié)果質(zhì)量提升 238
7.6.3 系統(tǒng)調(diào)試 239
7.6.4 持續(xù)優(yōu)化策略 242
7.6.5 小結(jié) 243
7.7 構(gòu)建端到端的RAG應(yīng)用 243
7.7.1 代碼實(shí)戰(zhàn) 243
7.7.2 小結(jié) 250
7.8 RAG系統(tǒng)的測(cè)試與評(píng)估 250
7.8.1 代碼實(shí)戰(zhàn) 250
7.8.2 小結(jié) 257
7.9 總結(jié) 257