-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
基于大模型的RAG應用開發與優化――構建企業級LLM應用 版權信息
- ISBN:9787121490385
- 條形碼:9787121490385 ; 978-7-121-49038-5
- 裝幀:平塑
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
基于大模型的RAG應用開發與優化――構建企業級LLM應用 內容簡介
本書是一本全面介紹基于大語言模型的RAG應用開發的專業圖書。本書共分為3篇:預備篇、基礎篇和高級篇。預備篇旨在幫助你建立起對大模型與RAG的基本認識,并引導你搭建起RAG應用開發的基礎環境;基礎篇聚焦于經典RAG應用開發的核心要素與階段,介紹關鍵模塊的開發過程,剖析相關的技術原理,為后面的深入學習打下堅實的基礎;高級篇聚焦于RAG應用開發的高階模塊與技巧,特別是在企業級RAG應用開發中的優化策略與技術實現,并探索了一些新型的RAG工作流與范式,旨在幫助你了解*新的RAG應用技術發展,掌握RAG應用的全方位開發能力。
基于大模型的RAG應用開發與優化――構建企業級LLM應用 目錄
第1章 了解大模型與RAG 3
1.1 初識大模型 3
1.1.1 大模型時代:生成式AI應用的爆發 3
1.1.2 大模型應用的持續進化 4
1.1.3 大模型是無所不能的嗎 7
1.2 了解RAG 11
1.2.1 為什么需要RAG 11
1.2.2 一個簡單的RAG場景 12
1.3 RAG應用的技術架構 14
1.3.1 RAG應用的經典架構與流程 14
1.3.2 RAG應用面臨的挑戰 17
1.3.3 RAG應用架構的演進 18
1.4 關于RAG的兩個話題 20
1.4.1 RAG與微調的選擇 21
1.4.2 RAG與具有理解超長上下文能力的大模型 24
第2章 RAG應用開發環境搭建 27
2.1 開發RAG應用的兩種方式 27
2.1.1 使用低代碼開發平臺 27
2.1.2 使用大模型應用開發框架 29
2.2 RAG應用開發環境準備 33
2.2.1 硬件環境建議 33
2.2.2 基礎大模型 34
2.2.3 嵌入模型 41
2.2.4 Python虛擬運行環境 44
2.2.5 Python IDE與開發插件 45
2.2.6 向量庫 47
2.2.7 LlamaIndex框架 51
2.3 關于本書開發環境的約定 51
【預備篇小結】 52
基 礎 篇
第3章 初識RAG應用開發 55
3.1 開發一個*簡單的RAG應用 55
3.1.1 使用原生代碼開發 56
3.1.2 使用LlamaIndex框架開發 64
3.1.3 使用LangChain框架開發 68
3.2 如何跟蹤與調試RAG應用 70
3.2.1 借助LlamaDebugHandler 70
3.2.2 借助第三方的跟蹤與調試平臺 73
3.3 準備:基于LlamaIndex框架的RAG應用開發核心組件 77
第4章 模型與Prompt 78
4.1 大模型 78
4.1.1 大模型在RAG應用中的作用 79
4.1.2 大模型組件的統一接口 80
4.1.3 大模型組件的單獨使用 82
4.1.4 大模型組件的集成使用 83
4.1.5 了解與設置大模型的參數 84
4.1.6 自定義大模型組件 85
4.1.7 使用LangChain框架中的大模型組件 87
4.2 Prompt 87
4.2.1 使用Prompt模板 87
4.2.2 更改默認的Prompt模板 88
4.2.3 更改Prompt模板的變量 91
4.3 嵌入模型 92
4.3.1 嵌入模型在RAG應用中的作用 92
4.3.2 嵌入模型組件的接口 93
4.3.3 嵌入模型組件的單獨使用 95
4.3.4 嵌入模型組件的集成使用 97
4.3.5 了解與設置嵌入模型的參數 97
4.3.6 自定義嵌入模型組件 98
第5章 數據加載與分割 100
5.1 理解兩個概念:Document與Node 100
5.1.1 什么是Document與Node 100
5.1.2 深入理解Document與Node 102
5.1.3 深入理解Node對象的元數據 103
5.1.4 生成Document對象 106
5.1.5 生成Node對象 107
5.1.6 元數據的生成與抽取 111
5.1.7 初步了解IndexNode類型 115
5.2 數據加載 116
5.2.1 從本地目錄中加載 117
5.2.2 從網絡中加載數據 123
5.3 數據分割 129
5.3.1 如何使用數據分割器 129
5.3.2 常見的數據分割器 131
5.4 數據攝取管道 145
5.4.1 什么是數據攝取管道 145
5.4.2 用于數據攝取管道的轉換器 147
5.4.3 自定義轉換器 149
5.4.4 使用數據攝取管道 150
5.5 完整認識數據加載階段 155
第6章 數據嵌入與索引 156
6.1 理解嵌入與向量 156
6.1.1 直接用模型生成向量 157
6.1.2 借助轉換器生成向量 157
6.2 向量存儲 158
6.2.1 簡單向量存儲 159
6.2.2 第三方向量存儲 161
6.3 向量存儲索引 164
6.3.1 用向量存儲構造向量存儲索引對象 165
6.3.2 用Node列表構造向量存儲索引對象 166
6.3.3 用文檔直接構造向量存儲索引對象 169
6.3.4 深入理解向量存儲索引對象 172
6.4 更多索引類型 175
6.4.1 文檔摘要索引 175
6.4.2 對象索引 177
6.4.3 知識圖譜索引 180
6.4.4 樹索引 186
6.4.5 關鍵詞表索引 187
第7章 檢索、響應生成與RAG引擎 190
7.1 檢索器 191
7.1.1 快速構造檢索器 191
7.1.2 理解檢索模式與檢索參數 192
7.1.3 初步認識遞歸檢索 197
7.2 響應生成器 199
7.2.1 構造響應生成器 200
7.2.2 響應生成模式 201
7.2.3 響應生成器的參數 210
7.2.4 實現自定義的響應生成器 212
7.3 RAG引擎:查詢引擎 214
7.3.1 構造內置類型的查詢引擎的兩種方法 214
7.3.2 深入理解查詢引擎的內部結構和運行原理 217
7.3.3 自定義查詢引擎 218
7.4 RAG引擎:對話引擎 221
7.4.1 對話引擎的兩種構造方法 221
7.4.2 深入理解對話引擎的內部運行和運行原理 224
7.4.3 理解不同的對話模式 227
7.5 結構化輸出 239
7.5.1 使用output_cls參數 240
7.5.2 使用輸出解析器 241
【基礎篇小結】 243
高 級 篇
第8章 RAG引擎高級開發 247
8.1 檢索前查詢轉換 247
8.1.1 簡單查詢轉換 248
8.1.2 HyDE查詢轉換 249
8.1.3 多步查詢轉換 251
8.1.4 子問題查詢轉換 254
8.2 檢索后處理器 259
8.2.1 使用節點后處理器 259
8.2.2 實現自定義的節點后處理器 260
8.2.3 常見的預定義的節點后處理器 261
8.2.4 Rerank節點后處理器 266
8.3 語義路由 272
8.3.1 了解語義路由 272
8.3.2 帶有路由功能的查詢引擎 274
8.3.3 帶有路由功能的檢索器 276
8.3.4 使用獨立的選擇器 277
8.3.5 可多選的路由查詢引擎 278
8.4 SQL查詢引擎 280
8.4.1 使用NLSQLTableQueryEngine組件 281
8.4.2 基于實時表檢索的查詢引擎 283
8.4.3 使用SQL檢索器 285
8.5 多模態文檔處理 286
8.5.1 多模態文檔處理架構 286
8.5.2 使用LlamaParse解析文檔 288
8.5.3 多模態文檔中的表格處理 294
8.5.4 多模態大模型的基礎應用 297
8.5.5 多模態文檔中的圖片處理 303
8.6 查詢管道:編排基于Graph的RAG工作流 308
8.6.1 理解查詢管道 309
8.6.2 查詢管道支持的兩種使用方式 310
8.6.3 深入理解查詢管道的內部原理 313
8.6.4 實現并插入自定義的查詢組件 315
第9章 開發Data Agent 321
9.1 初步認識Data Agent 322
9.2 構造與使用Agent的工具 323
9.2.1 深入了解工具類型 324
9.2.2 函數工具 325
9.2.3 查詢引擎工具 326
9.2.4 檢索工具 327
9.2.5 查詢計劃工具 328
9.2.6 按需加載工具 330
9.3 基于函數調用功能直接開發Agent 331
9.4 用框架組件開發Agent 335
9.4.1 使用OpenAIAgent 335
9.4.2 使用ReActAgent 336
9.4.3 使用底層API開發Agent 338
9.4.4 開發帶有工具檢索功能的Agent 340
9.4.5 開發帶有上下文檢索功能的Agent 341
9.5 更細粒度地控制Agent的運行 343
9.5.1 分步可控地運行Agent 344
9.5.2 在Agent運行中增加人類交互 346
第10章 評估RAG應用 349
10.1 為什么RAG應用需要評估 349
10.2 RAG應用的評估依據與指標 350
10.3 RAG應用的評估流程與方法 351
10.4 評估檢索質量 352
10.4.1 生成檢索評估數據集 352
10.4.2 運行評估檢索過程的程序 354
10.5 評估響應質量 356
10.5.1 生成響應評估數據集 356
10.5.2 單次響應評估 358
10.5.3 批量響應評估 360
10.6 基于自定義標準的評估 362
第11章 企業級RAG應用的常見優化策略 364
11.1 選擇合適的知識塊大小 364
11.1.1 為什么知識塊大小很重要 364
11.1.2 評估知識塊大小 365
11.2 分離檢索階段的知識塊與生成階段的知識塊 369
11.2.1 為什么需要分離 369
11.2.2 常見的分離策略及實現 369
11.3 優化對大文檔集知識庫的檢索 378
11.3.1 元數據過濾 向量檢索 378
11.3.2 摘要檢索 內容檢索 383
11.3.3 多文檔Agentic RAG 390
11.4 使用高級檢索方法 397
11.4.1 融合檢索 398
11.4.2 遞歸檢索 406
第12章 構建端到端的企業級RAG應用 429
12.1 對生產型RAG應用的主要考量 429
12.2 端到端的企業級RAG應用架構 430
12.2.1 數據存儲層 431
12.2.2 AI模型層 432
12.2.3 RAG工作流與API模塊 432
12.2.4 前端應用模塊 433
12.2.5 后臺管理模塊 434
12.3 端到端的全棧RAG應用案例 436
12.3.1 簡單的全棧RAG查詢應用 436
12.3.2 基于多文檔Agent的端到端對話應用 455
第13章 新型RAG范式原理與實現 478
13.1 自糾錯RAG:C-RAG 478
13.1.1 C-RAG誕生的動機 478
13.1.2 C-RAG的原理 479
13.1.3 C-RAG的實現 480
13.2 自省式RAG:Self-RAG 485
13.2.1 Self-RAG誕生的動機 485
13.2.2 Self-RAG的原理 486
13.2.3 Self-RAG的實現 493
13.2.4 Self-RAG的優化 506
13.3 檢索樹RAG:RAPTOR 507
13.3.1 RAPTOR誕生的動機 507
13.3.2 RAPTOR的原理 508
13.3.3 RAPTOR的實現 510
【高級篇小結】 514
基于大模型的RAG應用開發與優化――構建企業級LLM應用 作者簡介
嚴燦平,畢業于南京理工大學計算機系,南京大學工商管理碩士。先后就職于聯創(后與亞信科技合并)擔任軟件工程師與設計師,甲骨文中國(Oracle)擔任中國區企業架構部首席架構師,上;蹎栃畔⒖萍加邢薰緭魏匣锶思婕夹g總監,F為獨立IT咨詢顧問,公眾號“AI大模型應用實踐”主理人。擁有超過20年的企業軟件從業經驗,專注于企業軟件架構設計、互聯網時代傳統行業的IT轉型、人工智能與大數據技術在企業應用的創新等。曾擔任多項大型企業級軟件系統核心架構師與咨詢師,參與包括中國移動、中國電信等通信行業客戶的核心業務運營支撐系統建設、智慧城市與政務行業互聯網轉型的IT咨詢與規劃。精通多種計算機軟件開發技術與IT架構方法論,對移動互聯網、大數據、人工智能在企業領域應用有深入的研究與實施經驗。
- >
隨園食單
- >
史學評論
- >
名家帶你讀魯迅:朝花夕拾
- >
月亮虎
- >
名家帶你讀魯迅:故事新編
- >
二體千字文
- >
伯納黛特,你要去哪(2021新版)
- >
中國人在烏蘇里邊疆區:歷史與人類學概述