LlamaIndex大模型RAG開發實踐
[羅馬尼亞]安德烈·喬爾基烏(Andrei Gheorghiu)著 楊森,秦婧,宋壬初 譯
- 出版商: 清華大學
- 出版日期: 2025-07-01
- 售價: $834
- 語言: 簡體中文
- ISBN: 7302697086
- ISBN-13: 9787302697084
-
相關分類:
人工智慧
- 此書翻譯自: Building Data-Driven Applications with LlamaIndex: A practical guide to retrieval-augmented generation (RAG) to enhance LLM applications
下單後立即進貨 (約4週~6週)
相關主題
商品描述
《Llamalndex大模型RAG開發實踐》是一本深入探討基於 Llamalndex 和 RAG 技術構建 LLM 應用和智能體的實踐指南,旨在幫助讀者掌握生成式 AI的核心技能。本書介紹了工LM 與 RAG 的概念,闡述了如何通過 Uamalndex 增強ILM 的檢索推理與回答能力。此外,本書還涵蓋了工作流效率提升、RAG 項目的定制開發與部署、性能追蹤與評估技術、智能體構建和提示工程**實踐等多方面內容。
作者簡介
"作者簡介安德烈·喬爾基烏(Andrei Gheorghiu)是一位經驗豐富的IT專業人士和ITAcademy的資深培訓師,擁有超過20年的培訓、咨詢和審計經驗。安德烈擁有包括ITIL Master、CISA、ISO2700 Lead Auditor和CISSP等多項認證,這些證書彰顯了安德烈在IT服務管理、信息安全、IT治理和審計等領域的深厚造詣。安德烈曾經為數千名學生提供了關於ERP和CRM系統的實施,以及安全評估和審計的培訓。譯者簡介楊森,Epsilla(YC S23)聯合創始人,AI Infra領域專家。南京航空航天大學本碩,曾在貝爾、英特爾、眾安保險、達達、得物等多家企業擔任核心技術崗位,主導過雙雲雙活、彈性調度等重大項目。現聚焦AI在企業私有數據場景的應用實踐,賦能企業釋放數據價值,推動智能化轉型與商業增長。秦婧,Epsilla(YC S23)聯合創始人,前TigerGraph高級工程師,人工智能與圖數據基礎設施專家。畢業於南加州大學計算機碩士,具備多年大型圖數據庫系統開發經驗,參與多個企業級產品落地。現致力於打造面向私有數據的AI智能體平臺,為AI應用提供堅實的數據與知識基礎。宋壬初,Epsilla(YC S23)聯合創始人兼CEO,圖數據庫與RAG技術專家。畢業於復旦大學與康奈爾大學,曾任Meta高級工程師、TigerGraph雲工程總監,具備豐富的圖技術與企業級AI平臺構建經驗。現專註於打造基於私有數據的AI智能體平臺,助力領域專家高效構建垂直AI應用。熱衷技術創新,擁有多項軌跡計算專利與頂會論文,致力於以技術推動商業與社會進步。"
目錄大綱
目錄
第一篇 生成式 AI 和 LlamaIndex 入門
第 1 章 大語言模型入門 2
1.1 生成式 AI 與大語言模型 3
1.1.1 什麼是生成式 AI 3
1.1.2 什麼是大語言模型 3
1.2 大語言模型在現代技術中的角色 5
1.3 大語言模型面臨的挑戰 7
1.4 使用 RAG 技術增強大語言模型 11
1.5 本章小結 13
第 2 章 LlamaIndex 生態概覽 14
2.1 技術需求 14
2.2 優化語言模型—微調、RAG 和 LlamaIndex 的關系 15
2.2.1 RAG 是唯一的解決方案嗎 16
2.2.2 LlamaIndex:構建可註入數據的大語言模型應用 17
2.3 漸進式揭示復雜性的優勢 19
2.4 實踐項目—個性化智能輔導系統 PITS 簡介 21
2.5 配置開發環境 23
2.5.1 安裝 Python 23
2.5.2 安裝 Git 24
2.5.3 安裝 LlamaIndex 25
2.5.4 註冊 OpenAI 獲取 API 密鑰 25
2.5.5 Streamlit 快速構建和部署應用的理想工具 28
2.5.6 安裝 Streamlit 29
2.5.7 完成環境配置 29
2.5.8 最終檢查 30
2.6 熟悉 LlamaIndex 代碼倉庫的組織結構 31
2.7 本章小結 33
第二篇 LlamaIndex 從入門到實踐
第 3 章 LlamaIndex 入門 36
3.1 技術需求 36
3.2 LlamaIndex 的核心構建塊—文檔、節點和索引 37
3.2.1 文檔 37
3.2.2 節點 41
3.2.3 手動創建節點 42
3.2.4 從文檔中提取節點 43
3.2.5 節點間的關系 45
3.2.6 為什麼節點間的關系很重要 46
3.2.7 索引 47
3.2.8 檢索和響應合成 49
3.2.9 查詢引擎的工作原理 50
3.2.10 快速回顧關鍵概念 51
3.3 構建第 1 個交互式增強型大語言模型應用 52
3.3.1 借助 LlamaIndex 日誌特性理解邏輯並調試應用 53
3.3.2 使用 LlamaIndex 定制大語言模型 54
3.3.3 三步完成大語言模型定制 55
3.3.4 Temperature 溫度系數 56
3.3.5 如何使用 Settings 用於定制 58
3.4 動手實踐—構建個性化智能輔導系統 PITS 59
3.5 本章小結 64
第 4 章 RAG 工作流中的數據整合 65
4.1 技術需求 65
4.2 通過 LlamaHub 導入數據 66
4.3 LlamaHub 概述 67
4.4 使用 LlamaHub 數據讀取器導入內容 68
4.4.1 從網頁導入數據 69
4.4.2 從數據庫導入數據 70
4.4.3 從多種文件格式的數據源批量導入數據 72
4.5 將文檔解析為節點 76
4.5.1 簡單的文本切分器 76
4.5.2 高級的節點解析器 79
4.5.3 節點關系解析器 82
4.5.4 節點解析器和文本切分器的區別 83
4.5.5 理解 chunk_size 與 chunk_overlap 84
4.5.6 使用 include_prev_next_rel 包含關系 85
4.5.7 節點生成的三種實踐方式 86
4.6 善用元數據優化上下文理解 88
4.6.1 摘要提取器 90
4.6.2 問答提取器 91
4.6.3 標題提取器 92
4.6.4 實體提取器 92
4.6.5 關鍵詞提取器 94
4.6.6 Pydantic 程序提取器 95
4.6.7 Marvin 元數據提取器 95
4.6.8 自定義提取器 96
4.6.9 元數據越多越好嗎 97
4.7 元數據提取的成本評估 98
4.7.1 遵循最佳實踐以最小化成本 98
4.7.2 在真正運行前評估最大成本 99
4.8 通過元數據提取器保護隱私 101
4.9 通過數據導入流水線提高效率 104
4.10 處理包含文本和表格數據的文檔 109
4.11 動手實踐—將學習資料導入 PITS 項目 110
4.12 本章小結 112
第 5 章 LlamaIndex 索引詳解 113
5.1 技術需求 113
5.2 索引數據概覽 114
5.3 理解 VectorStoreIndex 116
5.3.1 VectorStoreIndex 使用示例 116
5.3.2 理解向量嵌入 118
5.3.3 理解相似度搜索 120
5.3.4 LlamaIndex 如何創建向量嵌入 124
5.3.5 如何選擇合適的嵌入模型 125
5.4 索引持久化和重用 127
5.4.1 理解存儲上下文 128
5.4.2 向量存儲和向量數據庫的區別 131
5.5 LlamaIndex 的其他索引類型 132
5.5.1 摘要索引 132
5.5.2 文檔摘要索引 134
5.5.3 關鍵詞表索引 136
5.5.4 樹索引 139
5.5.5 知識圖譜索引 143
5.6 使用 ComposableGraph 構建組合索引 146
5.6.1 ComposableGraph 的基本使用 147
5.6.2 ComposableGraph 的概念解釋 148
5.7 索引構建和查詢的成本評估 149
5.8 動手實踐—為 PITS 項目的學習資料構建索引 154
5.9 本章小結 156
第三篇 索引數據的檢索和使用
第 6 章 數據查詢—上下文索引 158
6.1 技術需求 158
6.2 查詢機制概述 159
6.3 基本檢索器的原理 160
6.3.1 向量存儲索引檢索器 161
6.3.2 摘要索引檢索器 163
6.3.3 文檔摘要索引檢索器 166
6.3.4 樹索引檢索器 168
6.3.5 關鍵詞表索引檢索器 172
6.3.6 知識圖譜索引檢索器 174
6.3.7 檢索器的共同特點 178
6.3.8 檢索機制的高效使用—異步操作 178
6.4 構建更高級的檢索機制 179
6.4.1 樸素的檢索方法 180
6.4.2 實現元數據過濾器 180
6.4.3 使用選擇器實現更高級的決策邏輯 184
6.4.4 工具的重要性 186
6.4.5 轉換和重寫查詢 188
6.4.6 生成更具體的子查詢 190
6.5 密集檢索和稀疏檢索 193
6.5.1 密集檢索 193
6.5.2 稀疏檢索 194
6.5.3 在 LlamaIndex 中實現稀疏檢索 196
6.5.4 探索其他高級檢索方法 199
6.6 本章小結 200
第 7 章 數據查詢—後處理和響應合成 201
7.1 技術需求 201
7.2 後處理器—對節點進行重排、轉換和過濾 202
7.2.1 探索後處理器如何對節點進行過濾、轉換和重排 203
7.2.2 相似度後處理器 205
7.2.3 關鍵詞節點後處理器 207
7.2.4 前後節點後處理器 209
7.2.5 長文本記錄後處理器 210
7.2.6 隱私信息屏蔽後處理器 211
7.2.7 元數據替換後處理器 212
7.2.8 句子嵌入優化後處理器 214
7.2.9 基於時間的後處理器 215
7.2.10 重排後處理器 217
7.2.11 關於節點後處理器的小結 222
7.3 響應合成器 222
7.4 輸出解析技術 226
7.4.1 使用輸出解析器提取結構化輸出 227
7.4.2 使用 Pydantic 程序提取結構化輸出 231
7.5 查詢引擎的構建和使用 232
7.5.1 探索構建查詢引擎的各種方法 232
7.5.2 查詢引擎接口的高級用法 234
7.6 動手實踐—在 PITS 項目中構建測驗 241
7.7 本章小結 244
第 8 章 構建聊天機器人和智能體 246
8.1 技術需求 246
8.2 理解聊天機器人和智能體 247
8.2.1 聊天引擎 ChatEngine 249
8.2.2 不同的聊天模式 251
8.3 在應用中實現自主智能體 261
8.3.1 智能體的工具和 ToolSpec 類 261
8.3.2 智能體的推理循環 264
8.3.3 OpenAI 智能體 266
8.3.4 ReAct 智能體 271
8.3.5 如何與智能體互動 273
8.3.6 借助實用工具提升智能體 273
8.3.7 使用 LLMCompiler 智能體處理更高級的場景 278
8.3.8 使用底層智能體協議 API 281
8.4 動手實踐—在 PITS 項目中實施對話追蹤 284
8.5 本章小結 289
第四篇 定制化、提示工程與總結
第 9 章 LlamaIndex 項目定制與部署 292
9.1 技術需求 292
9.2 定制 RAG 組件 293
9.2.1 LLaMA 和 LLaMA 2 推動開源領域變革 294
9.2.2 使用 LM Studio 運行本地大語言模型 295
9.2.3 使用 Neutrino 或 OpenRouter 等服務智能路由大語言模型 302
9.2.4 自定義嵌入模型 304
9.2.5 利用 Llama Packs 實現即插即用 305
9.2.6 使用 Llama CLI 307
9.3 高級追蹤和評估技術 309
9.3.1 使用 Phoenix 追蹤 RAG 工作流 310
9.3.2 評估 RAG 系統 313
9.4 利用 Streamlit 進行部署 320
9.5 動手實踐—部署指南 322
9.6 本章小結 328
第 10 章 提示工程指南和最佳實踐 330
10.1 技術需求 330
10.2 為什麼提示詞是秘密武器 331
10.3 理解 LlamaIndex 如何使用提示詞 334
10.4 自定義默認提示詞 337
10.5 提示工程的黃金法則 342
10.5.1 表達的準確性和清晰度 342
10.5.2 提示的指導性 342
10.5.3 上下文質量 343
10.5.4 上下文數量 343
10.5.5 上下文排列 344
10.5.6 輸出格式要求 344
10.5.7 推理成本 345
10.5.8 系統延遲 345
10.5.9 選擇適合任務的大語言模型 345
10.5.10 創造有效提示詞的常用方法 349
10.6 本章小結 352
第 11 章 結論與附加資源 353
11.1 其他項目和深入學習 353
11.1.1 LlamaIndex 示例集合 354
11.1.2 Replit 任務和挑戰 357
11.1.3 LlamaIndex 社區的力量 358
11.2 要點總結、展望和勉勵 359
11.2.1 生成式 AI 背景下 RAG 的未來展望 360
11.2.2 一段值得深思的哲理分享 363
11.3 本章小結 364