描述
內容簡介
| 本書強調動手實作,帶領讀者從開發到落地,完整掌握LLM系統的工程方法。
★從基礎到進階,一條完整的LLM開發學習路線 ★給開發者的LLM實戰書,從第一個Prompt到可擴充的Agent系統 ★一次掌握 Prompt、RAG、Tools、Agent與MCP,建立屬於你的大型語言模型應用版圖
本書改編自作者於TibaMe與工研院開設、深受好評的大型語言模型(LLM)實務課程。
大型語言模型(LLM)已不只是聊天工具,而是正在重塑軟體架構、資料存取與人機互動方式的關鍵技術。本書以「實際應用開發」為核心,從基礎概念出發,逐步帶領讀者完成可實際運作、可部署、可延伸的LLM系統。
你將學會:
•整合雲端與本地端模型,建立彈性又可控的LLM架構 •設計穩定、可預期的Prompt與對話流程,大幅降低模型失控風險 •快速打造對話機器人、遊戲NPC、SQL助手與法規諮詢系統 •從零開始建構完整RAG系統(Embedding、Chunk、Vector DB、Re-Ranker) •讓模型學會「使用工具」,實作Tools與Function Calling •導入MCP(Model Context Protocol),打造可組合、可擴展的AI系統 •進階掌握LCEL、Memory、結構化輸出與Agentic RAG等關鍵技術 |
作者簡介
| 陳仁政(白熊)
電子與資訊背景出身的工程師,走過學術研究、產業實務,也長期待在教育現場。一路接觸過軟硬體整合系統、資料分析到人工智慧,各種技術主題都有實際動手做過的經驗。 比起從公式開始推導,更喜歡用例子來聊技術,把看起來複雜的概念拆開來講清楚。長期關注機器學習、影像識別與大型語言模型等領域,也持續嘗試把這些新技術真正用在現實世界的問題上。 TibaMe、工研院、實踐大學講師 NVIDIA DLI課程認證講師 |
目錄
| ▌第1章 大語言模型基礎
1.1 大語言模型簡介 1.2 LangChain 簡介 1.3 雲端模型Google Gemini 的API 串接 使用LangChain 控制Gemini 1.4 本地端模型部屬平台 GGUF格式在LLM 推理上的優勢 支援GGUF 格式的部屬平台 Ollama 與LM Studio 的模型API 串接 1.5 結語
▌第2章 提示詞工程的應用 2.1 提示詞工程簡介 2.2 對話訊息列表 2.3 翻譯系統(範例) 2.4 人資履歷篩選系統(範例) 設計SystemMessage 與User Prompt 限制輸出格式為JSON 封裝成 Python 函數 2.5 社群留言情緒分析(範例) IMDB電影評論資料集介紹 使用LLM 進行情緒分析 單筆資料測試 批次測試與正確率評估 分析結果 2.6 結語
▌第3章 對話機器人 3.1 對話機器人簡介 3.2 對話機器人原理 初步實驗:單輪對話的行為觀察 對話訊息列表(Chat Message List) 對話記憶的關鍵:把回應放回去 多輪對話的形成 3.3 對話機器人實作 功能測試:確認是否能多輪對話 對話交談介面 3.4 串流式對話機器人 串流式呼叫LLM 串流式對話機器人 串流功能測試 串流式 Gradio 對話介面 系統提示詞與應用延伸 3.5 遊戲NPC(範例) 為何選擇「城門守衛」作為範例? System Prompt 的設計說明 完整的 System Prompt 範例 實際互動效果與觀察 小結 3.6 SQL 指令對話機器人(範例) 把Schema 放進System Prompt 建立範例資料庫情境(商店銷售資料) SQL 指令對話機器人的System Prompt 測試SQL 指令生成效果 小結 3.7 勞動基準法諮詢對話機器人(範例) 設計思路:法規型對話機器人 系統提示詞(System Prompt)設計: 諮詢範例測試 調整回應風格:口語版 System Prompt 同一問題,不同風格的效果 小結 3.8 結語
▌第4章 RAG 4.1 簡介 4.2 文字嵌入模型 Hugging Face 的文字嵌入模型 向量相似度 LM-Studio 的文字嵌入模型 4.3 向量資料庫 向量資料庫與近似搜尋(ANN) 向量資料庫的主要類型 使用InMemoryVectorStore 示範向量資料庫操作 小結 4.4 文件載入 Document 物件 Document Loader 的基本使用模式 小結 4.5 文本分段 TextSplitter CharacterTextSplitter(最基本的字元分段) RecursiveCharacterTextSplitter 對Document 進行分段 MarkdownHeaderTextSplitter(Markdown 文件) HTMLHeaderTextSplitter 小結 4.6 RAG 系統整合(範例) 建立向量資料庫 建立使用者查詢與回應RAG 系統 小結 4.7 ReRanker ReRanker範例說明 ReRanker 在完整RAG 系統中的角色 小結 4.8 結語
▌第5章 Tools / Function Call 5.1 前言 5.2 Tools原理 系統設計 執行結果與行為分析 Tools 機制的本質 5.3 Tools 技術探索 準備Tools 工具 將Python 函數轉換為LangChain Tools StructuredTool 的呼叫方式 將 Tools 綁定至 LLM 多步驟 Tool Calling 實際流程 小結 5.4 Tools 對話機器人 ChatBot Class 初始化流程(init) 對話生成核心:chat_generator() 功能驗證:chat_generator() 測試 chat_bot:: chat () 整合進Gradio 介面 串流版的對話機器人(Stream Chat Bot) 5.5 程式與文件助手(範例) 工具函數程式碼 工具函數功能測試 將工具接入對話機器人 測試:文件內容分析 測試:程式與資料分析助手 測試:資料分析與圖表助手 小結 完整程式 5.6 結語
▌第6章 MCP
6.1 MCP簡介 什麼是 MCP ? MCP 與 Tools / Function Call 的關係 6.2 MCP 架構與元件 MCP Client —— 模型的「行動端」 MCP Server —— 工具與資料的「提供者」 Schema —— 工具的「語意定義」 Transport —— 通訊的「傳輸層」 整體運作流程 MCP 的優勢 6.3 MCP Server 實作 建立最簡單的 MCP Server 使用Claude Desktop 實際操作 MCP Server 的行為 建立氣溫查詢的MCP Server 小結 6.4 MCP Client 實作 讀取MCP Server 資訊 呼叫MCP Server 工具 LangChain 的MCP 工具 小結 6.5 建立能夠使用MCP 的對話機器人(MCP Client ChatBot) 完整程式碼 程式解析 小結 6.6 結語
▌第7章 進階技巧
7.1 簡介 7.2 LCEL Chain 建立RAG Chain 小結 7.3 結構化輸出 CommaSeparatedListOutputParser JsonOutputParser PydanticOutputParser 小結 7.4 Memory Chat Message List InMemoryChatMessageHistory FileChatMessageHistory SQLChatMessageHistory 對話紀錄摘要(Summary) 小結 7.5 RAG進階 前期準備 Multi-Query Retrieval Parent-Document Retrieval 小結 7.6 結語
▌第8章 LLM應用範例
8.1 簡介 8.2 SQL資料庫助手 系統設計 測試用資料 程式實作 測試效果 MCP Server 版本 小結 8.3 Line 對話機器人 Lines 鸚鵡學話機器人 遊戲NPC Line 對話機器人 小結 8.4 RSS 主題篩選助理 技術測試 RSS主題篩選助理 小結 8.5 Agentic RAG 查詢QA 文件的工具設計 對話機器人設定說明 測試效果與行為觀察 小結
▌附錄
A-1 書本範例與開發環境設定 安裝Python 安裝必要套件 開發環境 Jupyter Notebook A-2 Gemini API KEY 申請 免費版API 限制 A-3 LM-Studio 安裝、模型下載與伺服器設定 下載模型 開啟模型伺服器 A-4 Ollama 安裝、模型下載 A-5 Claude Desktop 安裝與MCP Server 設定 A-6 Line API 申請 申請商業帳號 啟動Message API 頁面設定與申請Access Token 參考文件 |
序
|
|





















