內容介紹:
>資 料 不 外 流,模 型 任 你 遊<
No data out, all models in play
本書是專為考量資料隱私問題但又想開發結合大型語言模型 LLM 應用者所設計,不倚賴大型 AI 公司的雲端服務,利用 Ollama 系統建置本機 LLM 推論引擎,既保護隱私又節省串接大型 AI 公司 API 服務的費用。更重要的是,可視需要變換模型,不會被大型 AI 公司綁架,完全彈性自主。本書還具備以下特色:
????️ LangChain 應用程式開發框架
除了簡化程式撰寫,更可跨模型,即使要改用大型 AI 公司的模型也不需要重新撰寫程式。LangChain 框架提供有外部函式(工具)的抽象層,可立即將既有的函式變成模型可用的工具,加上 LangChain 社群的豐富工具,簡直就像是 LLM 軍火庫,讓模型不只能說一口好話,還能付諸行動,可以達成像是執行 SQL 語句查詢資料庫等各種功能。
????️ RAG 應用開發
對於需要參考私有資料的應用情境,LangChain 也提供有完整的 RAG 支援,不但可讀取 PDF/網頁/JSON 等各種格式資料來源,也提供多種文檔切割方式與 FAISS 等嵌入式資料庫儲存/檢索機制,瞬間就能幫模型補足專屬知識,協助解答問題。
????️ AI Agent 代理應用
LangChain 設計有現成的 AI Agent 框架,搭配剛剛提到的各式工具與 RAG 機制,即可設計可自主思考,規劃行動並實際完成任務的 ReAct Agent。
????️ 獨家 LangGraph 主題
考量到一般 Agent 帶來的不確定性,LangChain 生態系加入了 LangGraph 框架,可以設計具備穩定流程的 Agent 代理,避免 Agent 陷入無窮迴圈無法完成任務的窘境。
????️ LangSmith 評估系統
補上 Agent 代理應用的最後一塊拼圖,透過 LangSmith 服務檢視 Agent 執行過程,可評估執行效能、prompt 成效、模型規劃行動優劣,不再只用感覺評斷。
目錄:
第 1 章 本地化低硬體門檻的 LLM 應用開發
1-1 解決高昂的 API 成本與硬體需求
API 成本的負擔
硬體需求的挑戰
免費與本地化運算的崛起
1-2 對雲端的依賴與資料安全性
雲端依賴的挑戰
資料安全性的考量
在本地運行模型以減少對雲端的倚賴
1-3 為什麼選擇免費的本地化運算
成本效益
自主性與可客製化
技術可行性
1-4 LangChain、Ollama 和 LangGraph 的特色與優勢
LangChain
Ollama
LangGraph
最低硬體需求與資源建議
第 2 章 環境建置與模型量化技術
2-1 低硬體需求的環境準備與 Ollama 模型選擇
本書撰寫時使用之硬體環境
本書推薦之大型語言模型
2-2 模型選擇指南與量化技術解析
模型的命名慣例
模型挑選方式
Ollama 模型尋找教學
2-3 如何在本地環境中運行 LangChain 和 Ollama
使用 Docker 快速部署
手動配置本地環境 (適合不方便使用 Docker 的讀者)
Colab 雲端部署
Ollama 版本相容性提醒
本書實作範例採用的量化模型說明
程式碼中更換模型的方法
第 3 章 LangChain 基礎入門
3-1 認識 LangChain 生態系統的架構與組成
3-2 認識 LangChain 底層模組
Base Packages (基礎套件群)
Integrations (整合模組群)
3-3 可執行單元 (Runnables)
最核心的 Runnable 元件:LLM 生成
提示模板 (Prompt Templates)
RunnableLambda
3-4 表達式語言 LCEL (LangChain Expression Language)
RunnableSequence
RunnableParallel
3-5 回呼 (Callbacks)
回呼事件 (Callback Events)
回呼處理器 (Callback Handlers)
回呼添加方式 (Passing Callbacks)
StreamingStdOutCallbackHandler
3-6 避免數字幻覺:用 Prompt 確保 LLM 只根據提供的數據回答
LLM 會如何產生數字幻覺?
提示詞 (Prompt):避免 LLM 生成錯誤數值
temperature (溫度)
結合 Prompt 與 LLM,驗證是否能有效抑制數字幻覺
3-7 建立多國語言翻譯助手應用
步驟 1:定義提示模版 (Prompt Template)
步驟 2:接收用戶輸入
步驟 3:建立流程鏈並在執行時傳入回呼
執行結果展示
3-8 建立搜尋引擎最佳化 SEO 標題產生器
步驟 1:定義提示模版 (Prompt Templates)
步驟 2:接收用戶輸入
步驟 3:建立流程鏈
步驟 4:使用 .stream() 實現串流輸出
執行結果展示
第 4 章 SQL:結合資料庫打造自然語言查詢系統
4-1 如何透過 LLM 達到 SQL 查詢自動化
認識 SQLite 資料庫
自然語言轉 SQL 查詢
4-2 建立 SQL 人資小幫手問答機器人
步驟 1:初始化模型與連接資料庫
步驟 2:獲取資料庫結構
步驟 3:執行 SQL 查詢的函式
步驟 4:SQL 查詢語句生成 (自然語言輸入 → SQL 語句)
步驟 5:執行 SQL 查詢,並將查詢結果轉換為自然語言回答
步驟 6:主程式
執行結果展示
4-3 跨資料表 SQL 查詢:讓 LLM 理解關聯資料並生成查詢語句
程式碼修改說明
執行結果展示
第 5 章 向量資料庫:基礎 RAG 與語義相似性檢索
5-1 認識檢索增強生成 (RAG)
RAG 使用檢索系統帶來的優勢
幫 LLM 擴展知識並減少幻覺 (Hallucination)
5-2 嵌入向量與語義相似性檢索流程
嵌入向量 (Embedding Vector)
語義相似性檢索 (Semantic Similarity Retrieval)
5-3 FAISS 向量資料庫與相似度計算方式
FAISS 的記憶體特性
FAISS 索引類型概覽
相似度計算方式介紹
5-4 OllamaEmbeddings 嵌入模型
在 Ollama 尋找、更換與下載嵌入模型的方法
正規化測試
嵌入模型測試與相似性檢索
5-5 設定相似度閾值:控制語義檢索範圍
L2 距離 (歐幾里得距離, Euclidean Distance)
使用 MAX_INNER_PRODUCT 實現餘弦相似度
(Cosine Similarity)
5-6 將 FAISS 向量資料庫本地化:實現持久化儲存與載入
向量資料庫本地化流程
檢索本地向量資料庫流程
建立與檢索本地 FAISS 向量資料庫
整合 LLM 來回答問題
第 6 章 進階 RAG:記憶、數據向量化、檔案載入器與多資料來源
6-1 認識檢索、生成與數據向量化流程
RAG 詳細運作流程
RAG 數據向量化流程
6-2 建立 RAG 向量化檢索泛用聊天機器人
步驟 1:初始化 LLM
步驟 2:儲存向量並初始化檢索器
步驟 3:建立提示模板
步驟 4:建立檢索鏈與檔案處理鏈
步驟 5:啟動對話系統
執行結果展示
常見觀念誤區整理
6-3 建立相似度閾值機制:本地 RAG 球員戰績問答機器人
步驟 1:新增 SIMILARITY_THRESHOLD 與準備數據
步驟 2:檢查數據是否需要更新
步驟 3:建立 FAISS 向量資料庫
步驟 4:建立檢索與問答系統
執行結果展示
6-4 文本分割 (Chunking)
短片段 vs. 長片段
分割時需要考量的因素
常見的文本分割策略
文本分割的實I建議
6-5 檔案載入器 (Document Loaders)
LangChain 的檔案載入器
檔案載入器用法介紹
6-6 建立 PDF、網頁爬蟲、JSON 檢索問答機器人
PDF 檢索問答機器人
執行結果展示
網頁爬蟲檢索問答機器人
執行結果展示
JSON 檢索問答機器人
執行結果展示
6-7 LangChain 記憶 (Memory)
LangChain 記憶類型介紹
LangChain 記憶執行流程
6-8 建立有記憶能力的檢索問答機器人
保留完整對話的 ConversationBufferMemory
執行結果展示
保留對話摘要的 ConversationSummaryMemory
執行結果展示
第 7 章 Agent × Memory:讓模型自己選擇工具並擁有對話記憶
7-1 認識代理 (Agent)
AgentExecutor (代理執行器)
AgentType (代理類型)
initialize_agent (初始化代理)
7-2 工具 (Tool)
使用 LangChain 提供的搜尋引擎查詢工具 (Tool)
建立函式當作自訂工具 (Tool)
7-3 建立有記憶的泛用電腦助手 Agent:密碼生成 × 網頁爬蟲 × 搜尋引擎
步驟 1:初始化 Ollama LLM
步驟 2:建立密碼生成函式當工具
步驟 3:建立網頁爬蟲函式當工具
步驟 4:加入搜尋引擎查詢工具 (DuckDuckGoSearchRun)
步驟 5:組成工具清單
步驟 6:設定 Prompt
步驟 7:加入記憶機制 (Memory)
步驟 8:建立代理 (Agent)
步驟 9:建立主程式
執行結果展示
第 8 章 LangGraph:用狀態、節點、邊建構圖結構流程
8-1 認識 LangGraph 圖結構流程控制原理
LangChain AgentExecutor 與 LangGraph 的差異
圖結構 (Graph)
節點與邊 (Nodes and Edges)
8-2 LangGraph 狀態與其更新機制 (State + Reducer)
狀態 (State)
Reducer:控制狀態的更新機制
8-3 建立圖結構條件邏輯 Agent:日期查詢 × 數學計算
步驟 1:初始化模型
步驟 2:定義狀態類別
步驟 3:定義節點函式
步驟 4:建構圖
步驟 5:添加節點與邊
步驟 6:編譯圖與主程式
執行結果展示
8-4 建立圖結構網路查詢助手 Agent:維基百科 × 搜尋引擎
步驟 1:定義狀態類別
步驟 2:初始化工具
步驟 3:定義節點函式
步驟 4:構建圖
步驟 5:執行主程式
執行結果展示
8-5 LangGraph 記憶:Checkpointer
Checkpointer (檢查點保存器)
Thread (執行緒) 與 Checkpoint (檢查點)
檢查點的獲取:get_state 與 get_state_history
8-6 建立有記憶的圖結構泛用聊天機器人
步驟 1:定義狀態類別
步驟 2:定義節點函式
步驟 3:構建圖
步驟 4:建立 Checkpointer 和初始化狀態
步驟 5:執行主程式
執行結果展示
第 9 章 LangSmith:視覺化追蹤與分析 LLM 工作流的每一步
9-1 LangSmith 核心功能與API 金鑰設定
LangSmith 使用教學
探索 LangSmith 的核心功能
9-2 追蹤 SQL、RAG、Agent、Memory 與 LangGraph 等執行流程
基礎執行流程
SQL 執行流程
RAG 執行流程
Agent × Memory 執行流程
LangGraph 執行流程
VJ大揭密
定價 $495元
優惠價 $371元
VIP價 $361元
Raspberry Pi 樹莓派:Python x AI 超應用聖經
定價 $699元
優惠價 $545元
VIP價 $524元
網路規劃與管理實務 - 協助考取國際網管證照 第三版
定價 $980元
優惠價 $750元
VIP價 $735元
原來AI這麼簡單!:熟練機器學習5大步驟,就算不會寫程式,也能成為AI高手 / AI4kids、曾衒銘 / 商周
定價 $300元
優惠價 $222元
VIP價 $216元
威力導演21影片編輯動手做
定價 $399元
優惠價 $303元
VIP價 $295元
滑鼠掰!Outlook高效整理術:年省100小時的32個技巧,資料整理×減少切換×工作革新×活用快速鍵
定價 $400元
優惠價 $300元
VIP價 $280元
Ollama 本地 AI 全方位攻略:命令列功能、五大主題測試、RAG、Vibe Coding、MCP,一本搞定所有實戰應用
定價 $750元
優惠價 $570元
VIP價 $555元
角落小夥伴學習練習本:小學1、2年級第一次的程式設計
定價 $300元
優惠價 $225元
VIP價 $210元
ChatGPT × Excel VBA 資料整理自動化聖經:AI 幫你寫程式,百倍速完成報表
定價 $620元
優惠價 $465元
VIP價 $434元
未來藝世界:AI 繪圖新旅程
定價 $460元
優惠價 $345元
VIP價 $336元