RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)

Dominik Polzer 著 賴屹民 譯

  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-1
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-2
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-3
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-4
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-5
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-6
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-7
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-8
  • RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-9
RAG 錦囊妙計:使用 Python|從資料預處理到 LLM Agents 的實用訣竅 (Rag with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents)-preview-1

商品描述

在各大企業爭相挖掘大型語言模型(LLM)的潛力之際,有一個關鍵難題也開始浮現:如何將這些工具接到即時的外部資料,進而解決實際的問題?

檢索增強生成(RAG)就是這個難題的解方。RAG 結合 LLM 與資訊檢索技術,可讓你打造各式應用,包括聰明的聊天機器人,乃至於自動執行任務的智慧 agent。

本書收錄超過 70 個實戰訣竅,帶你透過結構化的實際練習,一一克服生成式 AI 的應用場景。作者 Dominik Polzer 將提供所有工具,協助你為特定的業務需求設計、部署、優化 RAG 系統。無論是處理基本的資料檢索,還是開發尖端的自主代理,這本書都能讓你站在技術最前線。

• 掌握 RAG 的核心元件,包括 embedding、檢索、生成…等關鍵技術。
• 運用進階工作流程,包括語意感知分段(semantic-aware chunking)與多查詢句提示(Multiquery prompting)。
• 為特定資料需求打造自己的解決方案,例如聊天機器人與自主 agent。
• 持續評估與優化系統,以提升準確性、相關性與效能。

作者簡介

Dominik Polzer 是資深機器學習工程師,曾在 Siemens 等指標性企業任職。他專精於預測分析、異常偵測與生成式 AI,並致力於運用基礎模型與 RAG 系統來推動業務流程自動化。此外,他也經常在廣受歡迎的 Medium 部落格分享機器學習的深度見解。

目錄大綱

第一章 RAG 入門
1.1 為你的組織找出高價值的 RAG 應用場景
1.2 選擇你的 IDE 與設定 Coding Agent
1.3 在 VS Code 中使用 Jupyter Notebook
1.4 使用 .env 來儲存密鑰與 API 密鑰
1.5 建構你的第一個 RAG 應用程式
1.6 為你的 RAG 應用程式選擇框架與程式庫
1.7 執行本書版本庫中的範例程式

第二章 基礎模型
2.1 定義合適的提示詞模板
2.2 為你的任務選擇合適的語言模型
2.3 使用 OpenAI API 來生成內容
2.4 使用 Google 的 Gemini 模型來生成內容
2.5 使用 Anthropic API 來生成內容
2.6 在本機使用 Ollama 來執行開源模型
2.7 使用 OpenAI SDK 與 Pydantic 來建立結構化的輸出

第三章 載入資料
3.1 在 Python 中載入 Word 檔案
3.2 載入 PDF 檔案
3.3 從 Excel 和 CSV 檔案載入及處理表格資料
3.4 從 PostgreSQL 資料庫載入結構化資料
3.5 使用語音轉文字模型來載入音訊檔案
3.6 使用 Tesseract OCR 從圖像與 PDF 擷取文字
3.7 使用多模態模型從圖像擷取文字
3.8 透過多模態模型來為圖像產生文字敘述
3.9 使用多模態模型來為內嵌的表格產生文字摘要
3.10 解析含有多模態內容的 PDF
3.11 使用語音轉文字與多模態模型來載入影片

第四章 資料準備
4.1 新增中繼資料以支援中繼資料篩選
4.2 換掉縮寫與技術術語,以提升資料品質
4.3 為文字段落建立假設性問題,以提升搜尋準確度
4.4 使用字元切分法來分割文件
4.5 使用遞迴文字切分器來分割文件
4.6 使用文件感知切分法來為文件分段
4.7 使用語義感知分段器來切分文字
4.8 使用 Agentic 分段器來切分文字

第五章 Embeddings
5.1 將文字段落的語言意義對映到數值表徵
5.2 使用降維技術來將文字段落間的語義關係視覺化
5.3 計算 Embedding 之間的距離
5.4 選擇合適的 Embedding 模型
5.5 使用 CLIP 來為圖像與文字產生 Embedding
5.6 使用 Embedding 來執行文字分類
5.7 使用混合搜尋來改善搜尋結果

第六章 向量資料庫與相似度搜尋
6.1 選擇合適的向量資料庫
6.2 使用 FAISS 來儲存與搜尋 Embedding
6.3 在 Chroma 向量資料庫中儲存與使用 Embedding
6.4 使用 pgvector 擴充功能在 PostgreSQL 中儲存 Embedding
6.5 在 PostgreSQL 中執行相似度搜尋
6.6 使用索引技術來加速 PostgreSQL 中的向量搜尋
6.7 在 PostgreSQL 中結合關鍵字搜尋與相似度搜尋,讓檢索更準確

第七章 檢索
7.1 在 PostgreSQL 中使用中繼資料來篩選,並優化查詢結果
7.2 使用 HyDE 來提升檢索準確度
7.3 使用多詢問句檢索來改善搜尋結果
7.4 設計詢問句路由系統來處理複雜的請求
7.5 設計自動合併檢索器來強化檢索文件
7.6 使用句子窗口檢索器來取得更完整的文字區塊
7.7 使用重新排名法來提升檢索相關度
7.8 將複雜的詢問句拆成多個子詢問句

第八章 Agentic RAG
8.1 在 Python 中設計自訂工具
8.2 在多 Agent 系統中使用工作流程模式
8.3 選擇 Agentic Framework
8.4 透過函式呼叫來建立 Agentic 系統
8.5 使用 asyncio 來加速 Agent
8.6 使用 OpenAI Agents SDK 與 Chroma 來建立銷售談判 Agent
8.7 使用 MCP 工具來強化 Agent 的能力
8.8 使用 LangGraph 來建立 Agentic 系統

第九章 Graph RAG
9.1 建立第一個 Neo4j 知識圖譜,並從文件匯入文字內容
9.2 使用結構化的資料來擴充知識圖譜
9.3 建立第一個 Cypher 查詢
9.4 在 Neo4j 知識圖譜上啟用語義搜尋
9.5 為 RAG 系統優化知識圖譜

第十章 評估 RAG 系統
10.1 為 RAG 系統選擇合適的評估指標
10.2 讓真人評估 RAG 系統
10.3 為自動化測試建立合成資料
10.4 計算脈絡 Precision@k,以評估檢索步驟
10.5 使用 LLM-as-a-Judge 來評估生成階段的忠實度
10.6 評估 RAG 系統的答案相關度

第十一章 RAG Web Apps
11.1 建立你的第一個 Streamlit App
11.2 使用 Streamlit 來建立聊天機器人 App
11.3 為聊天機器人加入 PDF 分析功能
11.4 將 RAG App 連到 SQL 資料庫
11.5 使用 Docker 與 AWS 來部署 Streamlit App