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