用 LangChain 打造生成式 AI 創新應用:從 LangGraph 到 LangSmith
許恆修 著
相關主題
商品描述
你與 AI 大神的距離,只差這本「動手做」的實戰指南!
翻開本書,開始打造專屬於你的第一個 AI 應用吧!
★ AI 當你的程式助教,從零開始不怕痛!
本書專為入門者設計,帶你從 Colab 環境建置到程式碼實作,每一步都有白話說明。
★ 掌握 LangChain、LangGraph、LangSmith核心框架,晉升 AI 開發者
不只教你用 AI,更教你打造 AI!學會業界最主流的 LLM 應用框架,讓你的作品更上一層樓。
★ 深入 RAG 技術,徹底告別 AI 的胡說八道
本書帶你深入剖析 RAG(檢索增強生成)技術,讓你的 AI 應用能整合外部知識,提供有憑有據的精準回答。
★ 打造兩個超酷專案,作品集馬上 +1
親手實作出「多語言 AI 翻譯系統」與「自動化新聞摘要與社群貼文產生器」,從理論到實踐,完整體驗開發流程。
★ Gradio 讓你的成果被看見,輕鬆做出互動介面
學會用 Gradio 快速打造使用者介面,讓你的 AI 程式不只會跑,還能動手玩,輕鬆分享給朋友與全世界。
【專家推薦】
我認為這本書非常棒的地方是恆修在技術講解中融入了大量的實務考量。比如在討論文件分割時,不僅考慮技術層面的語義完整性,還顧及了不同文件類型(技術文件、公司政策、API 文件等)的特性差異,提供了針對性的優化策略。這些步驟也確實是我們在業界實務開發上會考慮到的「眉角」。這樣貼近
實際應用場景的設計,才會讓讀者能夠將所學直接應用於企業級專案開發。
喬泰科技股份有限公司 - 邊緣運算電腦總監暨AI 系統架構師
侯冠宇
【第一部分:打好 GenAI 核心基礎】
◆揭開 LLM 的神秘面紗:從大型語言模型的運作原理、Transformer 架構,到什麼是 Token,用最白話的方式,讓你真正搞懂 AI 如何思考。
◆學會與 AI 高效溝通:深入「提示語工程」的核心策略,學習如何下達精準指令,讓 AI 聽懂你的心聲,產出高品質的結果。
◆開發環境一次搞定:帶你無痛上手 Google Colab,從建立筆記本、操作介面到管理 API 金鑰,讓你擁有一個免費又強大的雲端開發實驗室。
【第二部分:掌握 LLM 開發框架與應用】
◆LangChain 實戰入門:學習如何使用 LangChain 這套強大的開發框架,將資料載入、切割、儲存到模型串接的複雜流程,變成像堆積木一樣簡單有趣的過程。
◆LangGraph 打造 AI 代理:學習如何用 LangGraph 設計出能夠自我修正(Reflection)、團隊協作(Hierarchical Workflow)的 AI 代理,讓你的 AI 應用變得更聰明、更自動化。
◆LangSmith 監測系統:掌握 LLM 每一次思考與推論的過程,透過 LangSmith 關注每次 LLM 對話內容,讓除錯變得清晰、透明。
◆深入 RAG 解決 AI 幻覺:從 RAG 的誕生背景、核心概念到完整實作,帶你一步步打造能整合外部知識庫的 AI 系統,讓回答不再天馬行空。
【第三部分:從零到一的專案實作】
◆多語言 AI 翻譯系統:整合 LangGraph 的所有知識,打造一個能同時進行多語言翻譯、並透過自我反思機制,確保各版本語意一致的專業翻譯團隊。
◆自動化新聞摘要與 X 貼文工廠:從千字長文自動生成百字摘要,再進一步優化為風格吸睛、標籤精準的社群貼文,打造一個高效的「一站式」內容產生器。
【本書適合】
◎ 想踏入AI領域的學生:不論是資工、管理還是文組,這本書都能幫你建立實作能力。
◎ 充滿好奇的 GenAI 玩家:想從單純的「使用者」晉升為「創造者」。
◎ 產品經理與創業者:想了解如何將 LLM 技術落地,打造創新產品。
◎ 想累積作品集的準工程師:透過本書專案,快速為你的履歷加分。
你是不是還在做AI的使用者,卻渴望能夠主導AI開發並將其運用於實際專案中?
這本書將引領你學會設計與開發AI應用,開始寫程式、設計架構,成為能獨立開發AI應用的開發者。
作者簡介
許恆修
大家好,我是許恆修,多年來專注於人工智慧與大語言模型的開發與教學。從一開始被AI的潛力吸引,到逐步深入背後的原理與應用,我一直相信技術的價值在於能幫助人解決現實問題。
在我的教學過程中,我總是堅持一個原則:不僅要傳授知識,更要讓學習變得有趣且具體可行。我不喜歡高高在上的講解,更希望能和讀者建立一種平等、互動的學習關係。因此,我總是力求將枯燥的理論轉化為實用的技能,幫助你真正理解技術的背後邏輯,而不是只是記住公式或概念。
我最期待的,是看到你從使用者轉變成開發者,能真正掌握AI,創造出有價值的作品。希望這本書能成為你探索AI世界的良伴,激發你持續學習與實踐的熱情。
謝謝你願意和我一起踏上這條路。
歡迎追蹤我的 Medium Blog:https://r23456999.medium.com/
也邀請你透過 Email 跟我聯絡,分享你的故事。
Email:hengshiousheu@gmail.com
目錄大綱
第一部分 GenAI 基礎內容
第1 章 揭開大型語言模型(LLM)的神秘面紗:從入門到核心應用
1.1 引言:你的文字魔法師,大型語言模型
1.2 什麼是大型語言模型?
1.3 大型語言模型如何運作?從「提問」到「生成」
1.3.1 階段一:給予清晰的「提示」
1.3.2 階段二:模型「連續預測」並生成內容
1.4 驅動 LLM 的核心引擎:Transformer 架構
1.4.1 編碼器(Encoder):理解輸入資訊
1.4.2 解碼器(Decoder):生成回應內容
1.4.3 自注意力(Self-Attention)機制:讓模型看得更全面
1.5 LLM 的多元應用:從文字創作到智慧助理
1.5.1 文本分類與情感分析:洞察文字背後的情緒與類別
1.5.2 自然語言理解與生成:高效的文字產出與摘要
1.5.3 程式碼理解與生成:開發者的智慧幫手
1.5.4 自主推理與工作流程執行:從「回答」到「完成」
1.6 結語:展望LLM 的未來
第2 章 ChatGPT:從研究預覽到引領全球的AI 革命
2.1 引言:從低調發布到席捲全球的 AI 轉捩點
2.2 ChatGPT 的技術基石:GPT 模型家族的演進
2.2.1 Transformer 架構:語言理解的奠基石
2.2.2 GPT 系列模型的進化之路
2.3 ChatGPT 的誕生與爆紅:一場意料之外的「研究預覽」
2.4 剖析幕後:ChatGPT 的技術挑戰與解決方案
2.4.1 通用性:如何在多元應用情境中遊刃有餘?
2.4.2 偏見與不恰當內容:如何避免AI 說出不該說的話?
2.4.3 後端基礎設施與高負載:如何支撐億級用戶的龐大需求?
2.5 ChatGPT 的深遠影響:各行各業的變革性工具
2.5.1 企業效率與創新:提升營運的智慧化程度
2.5.2 產業兩面刃:教育與科技的挑戰與機會
2.6 快速上手指南:三步驟開啟你的ChatGPT 之旅
2.7 實戰演練:激發ChatGPT 的最大潛能
2.7.1 多樣化提問:探索不同的回答風格
2.7.2 語言學習與翻譯:你的隨身語言家教
2.7.3 寫作輔助:提升你的寫作效率
2.7.4 程式碼生成與除錯:開發者的智慧幫手
2.7.5 學習輔助:解答你的知識盲點
2.7.6 創意發想:你的腦力激盪夥伴
2.8 最佳實踐與使用原則
2.8.1 善用最新版本:享受技術前沿的紅利
2.8.2 精準撰寫提示語:溝通是關鍵
2.8.3 選擇合適應用場景:讓 ChatGPT 適得其所
2.8.4 避免過度侷限指令:保留模型的彈性
2.8.5 認識局限並適度依賴:當個聰明的使用者
2.9 結語:展望 AI 的未來與我們的角色
第3 章 揭密「提示語工程」:學會如何精準對話 AI,讓它聽懂你的心聲!
3.1 引言:當 AI 讀不懂你的心思,怎麼辦?
3.2 背景篇:提示語工程,AI 時代的新語言橋樑
3.2.1 什麼是「提示語工程」?
3.2.2 提示語工程帶來的典範轉移:從「寫程式」到「說人話」
3.3 核心策略:設計直觀且有效的提示語,讓 AI 事半功倍
3.3.1 策略一:掌握「角色、任務、上下文、格式」四大關鍵(R.T.C.F.)
3.3.2 策略二:力求「清晰且具體」的提示,避免模糊空間
3.3.3 策略三:善用「添加上下文」
3.3.4 策略四:反覆試驗與精煉
3.4 提示語工程的多元應用:AI 在各領域的得力助手
3.5 進階應用:透過提示語工程引導AI「思考」與「推理」
3.5.1 零樣本提示(Zero-Shot Prompting):無需範例,直接考驗 AI 的通識能力
3.5.2 單樣本提示(One-Shot Prompting):給予一個精華範例,讓AI 快速掌握要領
3.5.3 少樣本提示(Few-Shot Prompting):多個範例,幫助 AI 歸納出規律
3.5.4 思維鏈提示(Chain-of-Thought Prompting):引導AI 一步步「思考」
3.5.5 否定提示(Negative Prompting):明確告訴AI「不要做什麼」
3.6 結語:掌握提示語工程,成為AI 時代的溝通高手
第4 章 如何挑選最適合你的大型語言模型?
4.1 引言:面對百花齊放的LLM,你選對了嗎?
4.2 第一步:明確你的需求與目標,這是關鍵!
4.3 第二步:選擇模型前的三大必問問題,讓你的決策更精明!
4.3.1 模型規模與複雜度:「大」不一定就是最好?
4.3.2 上下文長度:你的AI 能「讀」多長的故事?
4.3.3 多語言支援:別只懂英文!你的AI 該更國際化!
4.4 第三步:常見使用場景與推薦模型特性,對號入座更有效!
4.4.1 客服支援與智慧問答
4.4.2 內容生成與創意寫作
4.4.3 長文摘要與資訊提取
4.4.4 程式碼生成與開發輔助
4.5 結語:選擇LLM,就像選擇一位好隊友
第5 章 Colab 介紹
5.1 引言:為什麼要使用Google Colab ?
5.2 坐而言不如起而行:開啟你的第一個Colab
5.3 建立在他人基礎上:加載外部的Google Colab 筆記本
5.4 延伸思考:雲端平台的彈性與限制
5.5 結論與後續探索
第6 章 Colab 操作指南: 就像間開放式實驗室
6.1 背景說明:什麼是Colab ?
6.2 核心概念:筆記本結構與單元格
6.3 實際應用:如何高效操作與協作
6.3.1 新增與移動單元格
6.3.2 Python 操作技巧
6.4 協作佳:與Google Drive 完美整合
6.5 總結與延伸思考
第7 章 Colab 如何添加 Secret key
7.1 背景說明
7.2 核心概念:什麼是Colab Secrets ?
7.3 實際應用:如何在Colab 中使用Secrets ?
7.4 提示:避免常見錯誤與風險
7.5 總結
第8 章 初次認識Gemini:簡單探索LLM 開發所需魅力
8.1 背景說明:為什麼需要Gemini API Key ?
8.2 什麼是Google Gemini ?
8.2.1 Gemini 的版本
8.3 環境安裝建置
8.4 從Google AI Studio 取得Gemini API Key
8.5 第一次體驗Gemini 的魅力
8.5.1 設定所需金鑰
8.5.2 列出當前可用的模型
8.5.3 使用輸入的文字來生成文字
8.5.4 串流方式產生文字
8.5.5 即時通訊對話
8.6 結論與延伸思考
第9 章 Gradio 是什麼?如何快速打造互動式機器學習應用?
9.1 背景說明:Gradio 是什麼?
9.1.1 Gradio 的特點
9.1.2 與其他工具(例如Streamlit)比較
9.2 使用範例與實際應用
9.2.1 研究與跨領域合作
9.2.2 教育教學:促進機器學習概念的理解
9.2.3 快速原型開發:企業與初創公司
9.3 Gradio 的主要使用者群體
9.4 總結與延伸思考
第10 章 Gradio- 啟動篇:打造機器學習應用
10.1 快速入門:Hello World 範例
10.1.1 程式碼拆解
10.1.2 執行與體驗
10.2 為輸入框加上標籤、佔位符
10.2.1 Gradio `share=True` 的運作方式
10.3 實用小建議與常見疑難排解
10.4 總結與後續探索
第11 章 Gradio- 建立對話機器人
11.1 背景說明
11.2 建立聊天機器人:核心概念與結構
11.3 實際範例
11.3.1 範例1:隨機回應「Yes」或「No」
11.3.2 範例2:依序「同意」或「不同意」的簡單邏輯
11.4 串流(Streaming)聊天機器人
11.5 額外的輸入(Additional Inputs)
11.6 預設回覆(Preset Responses)
11.7 練習題:為Chatbot 加入「系統提示」與「字數限制」的額外輸入
第12 章 Gradio 串接HuggingFace:從基礎到部署的完整指南
12.1 背景說明:HuggingFace ?
12.2 如何下載與使用HuggingFace 模型
12.3 部署到 HuggingFace Spaces
12.3.1 建立HuggingFace 帳號與專案空間(Space)
12.3.2 建立程式與需求檔
12.3.3 最佳實踐與注意事項
12.4 結論:開啟你在AI 領域的無限可能
第二部分 LLM 開發基礎與應用
第13 章 LangChain 在LLM 時代的定位:打造你的AI 應用流水線
13.1 引言:當AI 應用百花齊放,開發者如何高效應戰?
13.2 時代背景:為何我們需要LLM 應用框架?
13.3 核心概念:抽象化與模組化,打造AI 流水線
13.4 典型LLM 開發流程:LangChain 如何串聯各個環節?
13.5 LangChain 的核心概念與關鍵組件:深入解析你的AI 工具箱
13.6 結語:LangChain,你的LLM 應用開發加速器
第14 章 LangChain 實戰:輕鬆搞定長文與多文件摘要,告別AI 失憶症
14.1 為何我的AI 總是失憶?一切從「上下文視窗」開始
14.2 策略一:分而治之的Map-Reduce
14.3 策略二:層層迭代的Refine 技巧
14.4 總結:如何選擇最適合你的摘要策略?
第15 章 LangGraph 入門:打造你的AI「智能導航系統」
15.1 前言:為什麼傳統的AI 流程不夠用?
15.2 核心概念:節點、邊與狀態,AI 流程的積木
15.2.1 節點(Nodes):AI 的最小執行單元
15.2.2 邊(Edges):定義AI 流程的走向
15.2.3 狀態(State):AI 的短期記憶
15.3 實作:用LangGraph 打造公司用語生成代理
15.4 結論:LangGraph,為AI 開啟無限可能
第16 章 LangGraph 實戰:用Reflection 模式,打造會自我校稿的AI 郵件助理
16.1 前言:AI 寫的內容,真的夠專業嗎?
16.2 Reflection 模式解析:AI 如何「自我反思」?
16.3 實作Reflection:打造你的AI 郵件助理
16.4 結論:Reflection,你的內容品質守門員
第17 章 LangGraph 從單一代理到協作流程:實現ReAct、Reflection 與Hierarchical Workflow
17.1 前言:AI 為什麼需要「團隊合作」?
17.2 Agentic Pattern 概覽:從自我進化到分工合作
17.3 Agentic Pattern 解析與LangGraph 實現
17.3.1 ReAct:單一代理的迭代決策
17.3.2 Reflection:自我改進的反思循環
17.3.3 Hierarchical Workflow:層次化的協作管理
17.4 結論:LangGraph 與AI 協作的未來
第18 章 LangSmith 啟航手冊
18.1 前言:背景說明
18.1.1 舉個生活化例子
18.2 Langsmith 是什麼?
18.3 為什麼需要 Langsmith ?
18.4 Langsmith 的角色
18.5 LangSmith 啟動流程
18.6 小結
第19 章 RAG 的誕生與核心概念
19.1 引言
19.2 從單純的LLM 到「有憑有據」的對話
19.2.1 語言模型的光輝與陰影
19.2.2 「有憑有據」的重要性
19.3 RAG 的兩大核心支柱:檢索與生成
19.3.1 理解RAG:從查字典到造句的類比
19.3.2 檢索(Retrieval):智慧的資料查找
19.3.3 生成(Generation):基於事實的智慧回答
19.3.4 兩個階段的協同效應
19.4 LangChain RAG 藍圖:檢視整個資料流向
19.4.1 LangChain 在 RAG 生態系統中的角色
19.4.2 RAG 系統的核心組件架構
19.4.3 環境準備與套件安裝
19.4.4 系統設計的考量因素
19.5 本章總結
第20章 RAG 前處理:專屬知識庫的基礎
20.1 引言
20.2 認識不同格式的來源
20.2.1 現實世界中的資料挑戰
20.2.2 RAG 系統對資料的需求
20.2.3 LangChain 的解決方案
20.3 LangChain Document Loaders 教學
20.3.1 環境準備與套件安裝
20.3.2 處理 PDF 文件
20.3.3 處理網頁內容
20.3.4 處理結構化資料
20.3.5 整合多種資料來源
20.4 如何有效切分長篇文件
20.4.1 為什麼需要文件分割
20.4.2 分割策略
20.4.3 基礎分割策略實作
20.4.4 語義感知分割
20.4.5 分割品質評估
20.4.6 針對特定內容類型的優化分割
20.4.7 動態分割參數調整
20.5 本章總結
20.5.1 關鍵回顧
20.5.2 技術洞察
20.5.3 下一步的展望
第21章 向量嵌入:化文字為數值
21.1 文字的數學表示:嵌入模型的原理
21.1.1 從符號到語義的飛躍
21.1.2 嵌入技術
21.1.3 嵌入模型的特點
21.1.4 探索語義相似性
21.1.5 視覺化嵌入空間
21.2 向量資料庫:高效檢索的專屬儲存空間
21.2.1 向量資料庫的必要性
21.2.2 向量資料庫的核心特性
21.2.3 建立向量資料庫
21.2.4 向量搜尋功能測試
21.2.5 帶分數的搜尋
21.3 動手實作:打造您的第一個向量知識庫
21.3.1 整合完整的資料處理流程
21.3.2 測試智慧搜尋功能
21.3.3 進階搜尋功能實作
21.4 本章總結
第22章 RAG 鏈組裝,讓外部知識活起來
22.1 將檢索與生成結合
22.1.1 RAG 系統的核心理念
22.1.2 RAG 工作流程詳解
22.1.3 設計決策
22.2 LangChain RetrievalQA 鏈程式碼實作
22.2.1 環境準備與模組導入
22.2.2 重建知識庫(快速版本)
22.2.3 語言模型配置
22.2.4 自訂提示模板
22.2.5 建立 RetrievalQA 鏈
22.3 實戰驗證:測試您的 RAG 系統
22.3.1 基礎問答能力測試
22.3.2 不同風格的回答比較
22.3.3 邊界情況和錯誤處理測試
22.3.4 檢索品質分析
22.3.5 系統性能評估
22.4 本章總結
22.4.1 重大技術成就
22.4.2 下一步展望
第23章RAG 效能評估
23.1 RAG 進階:優化檢索與生成的策略
23.1.1 理解檢索系統的本質限制
23.1.2 進階檢索策略的理論基礎
23.1.3 檢索結果融合與重排序
23.1.4 MultiQueryRetriever 的實作與優化
23.1.5 自訂查詢生成策略
23.1.6 HyDE(假設性文件嵌入)的概念與實作
23.2 評估 RAG 系統:從主觀到客觀
23.2.1 評估的重要性與挑戰
23.2.2 RAGA 評估框架的理論基礎
23.2.3 實作綜合評估框架
23.2.4 持續評估與 A/B 測試框架
23.3 從原型到產品:部署 RAG 系統的考量
23.3.1 部署架構設計考量
23.3.2 性能優化策略
23.4 本章總結
23.4.1 技術能力的全面提升
第三部分 深刻的工程洞察專案實作
第24 章 多語言翻譯系列一:打造你的第一個AI 翻譯系統
24.1 為什麼需要一個聰明的AI 翻譯系統?
24.2 LangGraph:你的AI 專案指揮家
24.3 第一次實作就上手:打造你的基礎翻譯系統
24.4 結論
第25 章 多語言翻譯系列二:你的翻譯,可以更完美
25.1 為什麼你的AI 翻譯不能只做一次?
25.2 讓AI 動起來:理解ReAct 模式與 LangGraph 的結合
25.3 親手打造你的 ReAct 翻譯代理:程式碼實作教學
25.4 你的成就感,就是我的目標!
第26 章 多語言翻譯系列三:實現多語言並行翻譯團隊
26.1 為什麼需要同時翻譯成多國語言?
26.2 你的AI 專案經理:理解Hierarchical Workflow
26.3 親手打造你的AI 翻譯團隊:程式碼實作教學
26.4 你的成就感,就是我的目標!
第27 章 多語言翻譯系列四:用Reflection 模式檢查翻譯一致性
27.1 為什麼翻譯的「一致性」比你想像中更重要?
27.2 你的AI 審稿員:理解Reflection 模式
27.3 親手打造你的AI 品質把關員:程式碼實作教學
27.4 恭喜你,你的AI 團隊又升級了!
第28 章 多語言翻譯系列五:打造完整的多語翻譯系統:整合與應用
28.1 簡介
28.1.1 整合應用的場景
28.2 系統設計與技術整合
28.3 實作整合系統
28.4 打造你的夢幻翻譯系統:程式碼實作教學
28.5 系統的優勢與應用
28.6 結論
第29 章 新聞摘要系列一:打造高效社群貼文生成器
29.1 你是不是也每天被資訊淹沒?
29.2 一個小工具,如何解決大問題?
29.3 親手打造你的AI 新聞摘要器:程式碼實作教學
29.4 你的成就感,就是我的目標!
第30 章 新聞摘要系列二:讓你的X 貼文更吸睛!
30.1 寫在前面:為什麼你的新聞摘要總是差了點什麼?
30.2 高品質摘要的價值:不只是閱讀,更是影響力
30.3 從「摘要生成」到「品質檢查」
30.3.1 設計核心:定義一個「狀態」來追蹤進度
30.3.2 構建「工作流程」:誰先做,誰後做?
30.4 程式碼實現:手把手帶你建構LangGraph 摘要優化器
30.5 結論與預告:下一站,LangGraph 翻譯系列!
第31 章 新聞摘要系列三:打造吸睛貼文
31.1 寫在前面:還在手動寫X 貼文?你可能已經輸在起跑點!
31.1.1 一則好貼文的價值:不只發布,更是引爆話題
31.2 從「摘要」到「貼文」
31.2.1 設計核心:定義一個「狀態」來追蹤進度
31.2.2 構建「工作流程」:誰先做,誰後做?
31.3 程式碼實現:手把手帶你建構LangGraph 貼文生成器
31.4 自動生成貼文,能為你創造哪些商業價值?
31.5 結論與預告:下一站,LangGraph 翻譯系列最終章!
第32 章 新聞摘要系列四:摘要貼文改良
32.1 寫在前面:為什麼你的貼文,總是差了一點「感覺」?
32.1.1 一則好貼文的價值:不只發布,更是精準溝通
32.2 從「初稿」到「精修」的編輯旅程
32.2.1 設計核心:定義一個「狀態」來追蹤進度
32.2.2 構建「工作流程」:誰先做,誰後做?
32.3 程式碼實現:手把手帶你建構風格優化器
32.4 優化後的貼文,能為你創造哪些商業價值?
32.5 結論與預告
第33 章 新聞摘要系列五:打造「一站式」爆款貼文工廠
33.1 前言:是時候終結你的內容焦慮了!
33.2 整合後的系統:為什麼 1 + 1 + 1 + 1 > 4?
33.3 系統設計
33.3.1 核心設計:追蹤「一切」的狀態物件
33.3.2 工作流程:一氣呵成的自動化流程
33.4 程式碼實現:手把手打造你的全自動內容發布機
33.5 最終成果與展望:你的全自動內容發布機