向量數據庫:大模型驅動的智能檢索與應用
梁楠
相關主題
商品描述
目錄大綱
目 錄
第1部分 理論基礎
第1章 為何需要向量數據庫 3
1.1 大語言模型的缺陷 3
1.1.1 高維向量表示中的信息丟失問題 3
1.1.2 嵌入空間對語義相似度的誤差影響 8
1.2 高維數據存儲與檢索的技術瓶頸 11
1.2.1 高維數據的特性與存儲難點分析 11
1.2.2 高維空間中的“維度詛咒”問題簡介 12
1.2.3 高效檢索:索引結構與搜索算法簡介 14
1.3 傳統數據庫與向量數據庫的對比分析 15
1.3.1 傳統數據庫的設計原理與局限性 15
1.3.2 高維向量檢索在傳統數據庫中的實現難點 16
1.3.3 傳統數據庫與向量數據庫的性能對比分析 17
1.4 向量數據庫的優勢 19
1.5 本章小結 20
1.6 思考題 21
第2章 向量數據庫基礎 22
2.1 向量數據庫的核心概念與基本數據結構 22
2.1.1 向量數據庫的定義與發展背景 22
2.1.2 向量數據庫常見的數據結構:倒排索引、圖索引與分區技術 23
2.1.3 向量數據庫與傳統數據庫邏輯對比 26
2.2 特徵提取與向量表示:從數據到高維坐標系 28
2.2.1 特徵提取的基本方法 28
2.2.2 嵌入向量生成 31
2.2.3 數據預處理對向量質量的影響 32
2.3 高維空間特性與“維度詛咒”問題解析 34
2.3.1 高維空間中的稀疏性與數據分佈特性 34
2.3.2 距離度量的退化:歐氏距離與餘弦相似度 36
2.3.3 維度詛咒:降維與索引優化 38
2.4 本章小結 39
2.5 思考題 40
第2部分 核心技術與算法原理
第3章 向量嵌入 43
3.1 靜態向量嵌入 43
3.1.1 傳統詞向量模型:Word2Vec與GloVe 43
3.1.2 靜態嵌入的局限性:語義多義性與上下文缺失 46
3.1.3 靜態向量嵌入在特定領域的應用 48
3.2 動態向量嵌入 50
3.2.1 動態詞向量的生成:BERT與GPT的嵌入機制 50
3.2.2 動態嵌入的優勢:上下文敏感性與語義一致性 53
3.2.3 動態向量嵌入的實時生成與優化 55
3.3 均勻分佈與空間覆蓋率 57
3.3.1 高維向量分佈分析 57
3.3.2 嵌入向量的均勻性測量方法 59
3.3.3 空間覆蓋率對檢索性能的影響 61
3.4 嵌入向量優化 63
3.4.1 主成分分析與奇異值分解的降維應用 63
3.4.2 t-SNE與UMAP降維技術 65
3.4.3 降維對嵌入語義保留與性能的權衡分析 67
3.5 本章小結 70
3.6 思考題 70
第4章 向量相似性搜索初步 72
4.1 基於暴力搜索的向量相似性檢索 72
4.1.1 暴力搜索的原理與實現 72
4.1.2 暴力搜索優化 74
4.2 歐氏距離與餘弦相似度 77
4.2.1 距離與相似度的數學定義 77
4.2.2 不同相似度指標的適用場景分析 79
4.3 向量搜索的精度與召回率 81
4.3.1 精度、召回率與F1評分的計算方法 81
4.3.2 向量搜索性能提升方案 84
4.4 本章小結 87
4.5 思考題 87
第5章 分層定位與局部敏感哈希 89
5.1 HNSW的核心原理:圖結構與分層搜索路徑優化 89
5.1.1 基於圖結構的近鄰搜索模型 89
5.1.2 分層搜索路徑的構建與更新 93
5.1.3 HNSW索引時間復雜度分析 96
5.2 局部敏感哈希的設計與性能調優 99
5.2.1 哈希函數的設計與向量分區原理 100
5.2.2 LSH桶化與參數調優 103
5.2.3 LSH的內存占用與計算性能分析 106
5.3 HNSW與LSH的具體應用 108
5.3.1 HNSW在推薦系統中的應用 109
5.3.2 LSH在文本和圖像檢索中的應用 114
5.3.3 HNSW與LSH的組合應用:多模態檢索實例 117
5.4 本章小結 121
5.5 思考題 121
第6章 LSH搜索優化 123
6.1 BallTree算法的工作原理 123
6.1.1 BallTree的節點分割與索引構建 123
6.1.2 BallTree查詢過程與復雜度分析 126
6.2 Annoy搜索算法 130
6.2.1 Annoy的索引結構設計與分區原理 130
6.2.2 Annoy在大規模向量檢索中的性能優化 131
6.3 隨機投影在LSH中的應用 136
6.3.1 隨機投影的數學基礎 136
6.3.2 隨機投影在高維數據降維與檢索中的實際應用 138
6.3.3 隨機投影在用戶畫像降維與檢索中的應用 140
6.4 本章小結 143
6.5 思考題 143
第3部分 工具與系統構建
第7章 相似性測量初步 147
7.1 從曼哈頓距離到切比雪夫距離 147
7.1.1 曼哈頓距離的幾何意義與公式推導 147
7.1.2 切比雪夫距離在棋盤模型中的應用 149
7.1.3 不同距離度量的適用場景分析 151
7.2 相似性測量的時間復雜度與優化 153
7.2.1 向量間距離計算的時間復雜度分析 153
7.2.2 減少距離計算的分區優化技術 155
7.2.3 並行化與硬件加速在相似性測量中的應用 157
7.2.4 廣告分發系統案例:基於相似性測量的高效推薦 159
7.3 本章小結 163
7.4 思考題 163
第8章 測量進階:點積相似度與傑卡德相似度 165
8.1 點積相似度測量 165
8.1.1 點積相似度測量實現 165
8.1.2 點積相似度在推薦系統中的應用案例 167
8.1.3 點積相似度在醫療領域的應用案例:患者治療方案匹配 170
8.2 傑卡德相似度在稀疏向量中的應用 173
8.2.1 稀疏向量的構造與稀疏性分析 173
8.2.2 傑卡德相似度案例分析 175
8.2.3 基於傑卡德相似度的犯罪嫌疑人關系網絡分析 177
8.3 跨模態醫療數據相似性分析與智能診斷系統 180
8.4 本章小結 187
8.5 思考題 187
第9章 元數據過濾與犯罪行為分析系統 189
9.1 元數據與向量檢索 189
9.1.1 元數據在混合檢索中的作用 189
9.1.2 元數據標簽的定義與標準化 191
9.1.3 智能多條件推薦系統 192
9.2 多條件檢索實現 195
9.2.1 多維度條件組合檢索 195
9.2.2 基於元數據優先級的排序算法 197
9.2.3 基於元數據的酒店智能化推薦案例分析 199
9.3 元數據索引的構建與優化 204
9.3.1 元數據索引構建 204
9.3.2 動態元數據的更新與重建 206
9.4 實時檢索與元數據緩存 208
9.4.1 基於緩存的高性能檢索架構 209
9.4.2 元數據緩存失效與一致性管理 211
9.5 基於元數據的犯罪行為分析與實時預警系統 213
9.5.1 模塊開發劃分 213
9.5.2 逐模塊開發 214
9.5.3 犯罪分析與預警系統綜合測試 223
9.6 本章小結 227
9.7 思考題 227
第10章 FAISS向量數據庫開發基礎 229
10.1 FAISS庫的安裝與快速上手 229
10.1.1 FAISS初步開發以及CPU、GPU的版本差異 229
10.1.2 加載數據與基本查詢示例 232
10.2 基於FAISS的索引構建與參數調整 234
10.2.1 不同索引類型:Flat、IVF與HNSW 234
10.2.2 參數調整對搜索精度與速度的影響 236
10.3 大規模向量搜索的分片與分佈式實現 238
10.3.1 數據分片與動態分片 239
10.3.2 基於分佈式框架的FAISS部署 241
10.4 FAISS中的內存優化與GPU加速 243
10.4.1 壓縮索引與量化技術 244
10.4.2 多GPU的並行處理 245
10.5 本章小結 247
10.6 思考題 247
第11章 Milvus向量數據庫開發基礎 249
11.1 Milvus的架構設計與功能模塊解析 249
11.1.1 Milvus的初步使用及集群架構與組件通信 249
11.1.2 數據分區與高可用設計 253
11.2 使用Milvus進行向量插入、檢索與過濾 255
11.2.1 向量數據預處理與批量插入 255
11.2.2 復雜查詢條件實現 257
11.3 Milvus的索引類型與性能調優 259
11.3.1 索引類型的選擇與適用場景分析 259
11.3.2 並行優化與索引更新 261
11.4 Milvus在企業級應用中的部署與擴展方案 264
11.4.1 基於容器化的高可用部署 264
11.4.2 動態擴展與監控集成方案 267
11.5 本章小結 269
11.6 思考題 269
第4部分 實戰與案例分析
第12章 基於FAISS的自動駕駛泊車數據檢索系統 273
12.1 項目背景介紹 273
12.1.1 系統架構 273
12.1.2 應用流程 274
12.1.3 案例特色 275
12.2 模塊劃分 275
12.3 模塊化開發 276
12.3.1 數據預處理模塊 276
12.3.2 向量生成模塊 278
12.3.3 索引構建與存儲模塊 281
12.3.4 實時檢索模塊 282
12.3.5 動態更新模塊 284
12.3.6 系統監控與優化模塊 286
12.4 系統綜合測試 288
12.5 API接口開發與雲端部署 291
12.5.1 API接口開發 291
12.5.2 雲端部署完整系統 294
12.6 本章小結 298
12.7 思考題 298
第13章 基於語義搜索的向量數據庫開發實戰 301
13.1 語義嵌入生成與優化 301
13.1.1 使用預訓練模型生成語義向量嵌入 301
13.1.2 動態分詞與文本預處理 303
13.1.3 領域微調技術 305
13.2 構建向量索引與語義檢索框架 308
13.2.1 選擇合適的向量索引類型 308
13.2.2 構建Milvus向量索引 310
13.2.3 語義向量檢索與關鍵詞過濾 313
13.2.4 結合元數據與篩選條件實現多維度語義搜索 315
13.3 語義搜索系統的性能調優 318
13.3.1 GPU加速優化檢索 319
13.3.2 批量查詢與異步IO技術 320
13.3.3 實現基於分佈式架構的語義搜索系統 322
13.4 企業級語義搜索應用集成與部署 325
13.4.1 構建語義搜索RESTful接口 325
13.4.2 使用Docker與Kubernetes實現語義搜索系統的容器化 327
13.4.3 日誌監控與錯誤診斷模塊 329
13.4.4 基於語義搜索的文檔檢索系統集成與部署 332
13.4.5 大型圖書館圖書檢索的測試案例 335
13.5 本章小結 337
13.6 思考題 337