JANUSKIN
JANUSKIN

本地端 Ollama×LangChain×LangGraph×LangSmith 開發手冊:打造 RAG、Agent、SQL 應用

型號/ISBN:9789863128441

品牌/出版社:旗標

製造商/作者:好崴寶(Weibert Weiberson)

上市日/出版日:2025-09-03

規格:平裝/17x23x2.3cm/384頁

數  量:

定價:$750元

特惠價:$570 元

VIP價:$555 元

配送方式: 超商、宅配

配送地區:台澎金馬

付款方式:ATM、信用卡、貨到付款、取貨付款

與好友分享

內容介紹:
>資 料 不 外 流,模 型 任 你 遊<
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 執行流程

 

只要貼上以下連結網址就可以將本頁面分享到 FB、LINE或其他您的任何社群空間!

https://www.comfibooks.com/product_detail?id=20271

.