AI Agent 手刻首選 - 使用 LangChain 親手實作 LLM 大型商業專案
凌峰 著
相關主題
商品描述
【內容特點】
大語言模型與LangChain應用架構
★OpenAI API金鑰與開發環境建置
★模型類別與LangChain快取機制
★提示詞範本與多輪對話設計
★任務鏈組件:LLM鏈、序列鏈、路由鏈
★文件處理:Stuff鏈、Refine鏈與Map-Reduce鏈
★記憶體模組:階段緩衝、摘要與Redis整合
★LCEL語法與並行處理技巧
★Agent系統與多工任務執行
★回呼處理與任務即時監控
★模型I/O處理與嵌入儲存系統
★檢索系統與文字向量儲存架構
★系統性能最佳化與查詢任務設計
★企業級智慧問答系統建構流程
【內容簡介】
本書共分12章,第一章介紹大語言模型基本原理與LangChain架構;第二章說明API金鑰與開發工具鏈設定流程;第三章講解模型類別與快取應用;第四章涵蓋提示詞範本、多輪對話與少樣本提示技巧;第五章介紹LLM鏈、序列鏈、路由鏈與文件處理鏈的功能與差異;第六章說明聊天記憶模組、階段摘要與Redis整合方式;第七章描述LCEL語法與並行執行實作;第八章介紹Agent架構、ReAct流程與自訂LLM代理配置;第九章說明回呼處理常式設計與任務監控機制;第十章講解模型輸入輸出解譯與向量儲存結構;第十一章探討系統效能優化、任務鏈拆解與併發處理;第十二章實作企業級智慧問答系統,整合提示、檢索、記憶與回呼模組,展示從需求設計到測試部署的完整流程。
作者簡介
凌峰 博士
目前就職于某985高校,長期從事機器學習、人工智能、計算機視覺與大模型領域的研發與教學,在模型優化、訓練加速、數據驅動算法開發等方面有深刻見解,參與並主導多項相關科研項目。
目錄大綱
▌第1 章 大語言模型與LangChain
1.1 大語言模型基本原理
1.1.1 語言模型的建構:從N-grams 到深度學習
1.1.2 Transformer 架構的崛起:自注意力機制解析
1.1.3 預訓練與微調:如何提升模型性能
1.2 LangChain 基本原理與開發流程
1.2.1 LangChain 的核心組件:理解任務鏈與記憶體模組
1.2.2 LangChain 開發流程概述
1.2.3 如何快速上手LangChain 開發
1.3 本章小結
1.4 思考題
▌第2 章 LangChain 開發前的準備
2.1 建立OpenAI API 金鑰
2.1.1 註冊與帳戶設定
2.1.2 生成和管理API 金鑰
2.1.3 設置存取權限與安全性
2.2 建構Anaconda+PyCharm 開發工具鏈
2.2.1 安裝與設定Anaconda 環境
2.2.2 PyCharm 整合Anaconda 環境
2.2.3 套件管理與環境管理
2.3 初探LangChain 相依函式庫
2.3.1 LangChain 核心相依函式庫概覽
2.3.2 openai 函式庫的安裝與設定
2.3.3 其他輔助工具與擴充套件
2.4 本章小結
2.5 思考題
▌第3 章 模型、模型類別與快取
3.1 關於模型
3.1.1 模型的定義與應用
3.1.2 語言模型的工作原理
3.2 Chat 類別、LLM 類模型簡介
3.2.1 Chat 類模型概述
3.2.2 LLM 類模型概述
3.3 基於OpenAI API 的初步開發
3.3.1 OpenAI API 呼叫基礎
3.3.2 完成基本文字生成任務
3.4 自訂LangChain Model 類別
3.4.1 LangChain Model 類別的建構基礎
3.4.2 模型參數的自訂與調優
3.5 LangChain 與快取
3.5.1 快取的作用與類型
3.5.2 記憶體快取的使用
3.5.3 檔案快取與持久化管理
3.5.4 Redis 快取的整合與最佳化
3.6 本章小結
3.7 思考題
▌第4 章 提示詞工程
4.1 提示詞的定義與提示詞範本
4.1.1 理解提示詞在模型中的核心角色
4.1.2 建構提示詞範本:實現靈活多樣的提示結構
4.2 動態提示詞生成技術
4.2.1 基於使用者輸入的提示詞自我調整生成
4.2.2 動態提示詞生成
4.3 插槽填充與鏈式提示
4.3.1 插槽填充技術:快速實現變數插入的提示詞範本
4.3.2 鏈式提示詞:透過分步驟生成複雜內容
4.4 多輪對話提示詞
4.4.1 維護連續對話的提示詞設計
4.4.2 建構連貫自然的多輪互動
4.5 巢狀結構提示詞與少樣本提示詞
4.5.1 分層級處理複雜任務的多級提示詞
4.5.2 Few-shot 提示詞:透過範例提升生成效果的準確性
4.6 本章小結
4.7 思考題
▌第5 章 核心組件1:鏈
5.1 LLM 鏈
5.1.1 LLM 鏈的基本工作流程和參數設置
5.1.2 如何在LLM 鏈中嵌入提示詞範本和前置處理邏輯
5.2 序列鏈
5.2.1 序列鏈的建構與分層呼叫
5.2.2 在序列鏈中連接多個LLM 和工具模組
5.3 路由鏈
5.3.1 根據輸入內容動態選擇鏈路徑
5.3.2 設置不同的模型和任務路徑以適應複雜需求
5.4 文件鏈
5.4.1 Stuff 鏈與Refine 鏈的應用場景和適用文件類型
5.4.2 Map-Reduce 鏈與Map-Rerank 鏈的文件處理策略
5.5 本章小結
5.6 思考題
▌第6 章 核心組件2:記憶體模組
6.1 聊天訊息記憶
6.1.1 聊天訊息儲存機制:保障對話連續性
6.1.2 動態訊息記憶策略的設計與實現
6.2 階段緩衝區與階段緩衝視窗
6.2.1 階段緩衝區的設定與應用場景
6.2.2 階段緩衝視窗的實現
6.3 階段摘要與支援向量儲存
6.3.1 長階段摘要的生成與更新
6.3.2 使用向量儲存實現階段內容的高效檢索
6.4 使用Postgres 與Redis 儲存聊天訊息記錄
6.4.1 基於Postgres 的持久化訊息儲存方案
6.4.2 Redis 快取技術在訊息快速存取中的應用
6.5 本章小結
6.6 思考題
▌第7 章 LangChain 與運算式語言
7.1 LCEL 初探與流式支援
7.1.1 LangChian 運算式語言初探
7.1.2 LCEL 流式處理實現
7.2 LCEL 並存執行最佳化
7.2.1 多工並存執行策略
7.2.2 LCEL 並存執行
7.3 回退機制的設計與實現
7.4 LCEL 與LangSmith 整合
7.4.1 LangSmith 入門
7.4.2 LangSmith 的初步應用
7.5 本章小結
7.6 思考題
▌第8 章 核心組件3:Agents
8.1 何為LangChain Agent
8.1.1 Agent 的核心概念與工作原理
8.1.2 LangChain 中Agent 的應用場景分析
8.1.3 自訂LLM 代理
8.2 ReAct Agent
8.2.1 ReAct Agent 解析
8.2.2 ReAct Agent 的典型應用
8.3 Zero-shot ReAct 與結構化輸入ReAct
8.3.1 Zero-shot ReAct 的原理與實現
8.3.2 結構化輸入ReAct 的使用
8.4 ReAct 文件儲存庫
8.5 本章小結
8.6 思考題
▌第9 章 核心組件4:回呼機制
9.1 自訂回呼處理常式
9.1.1 建立自訂回呼處理常式
9.1.2 自訂鏈的回呼函式
9.2 多個回呼處理常式
9.3 追蹤LangChains
9.3.1 鏈式任務的追蹤和偵錯方法
9.3.2 任務串流資料的即時監控與分析
9.3.3 將日誌記錄到檔案
9.3.4 Token 計數器
9.4 利用Argilla 進行資料整理
9.4.1 初步使用Argilla
9.4.2 Argilla 輔助資料整理
9.5 本章小結
9.6 思考題
▌第10 章 模型I/O 與檢索
10.1 模型I/O 解譯器
10.1.1 輸入前置處理與輸出格式化:確保模型I/O 一致性
10.1.2 自訂輸出解析器的實現與應用
10.2 文字嵌入模型與向量儲存
10.2.1 文字嵌入模型
10.2.2 向量儲存
10.3 本章小結
10.4 思考題
▌第11 章 LangChain 深度開發
11.1 性能最佳化與併發處理
11.1.1 模型加速、蒸餾、FP16 精度
11.1.2 併發處理多使用者請求
11.2 複雜查詢與多級任務鏈設計
11.3 本章小結
11.4 思考題
▌第12 章 企業級智慧問答系統
12.1 專案概述與分析
12.1.1 專案概述
12.1.2 專案任務分析
12.2 模組化開發與測試
12.2.1 資料載入模組
12.2.2 嵌入生成與儲存模組
12.2.3 提示詞工程
12.2.4 任務鏈設計
12.2.5 Agent 系統
12.2.6 回呼機制與監控
12.2.7 單元測試與整合測試
12.3 系統集成、部署與最佳化
12.3.1 系統集成與部署
12.3.2 回應速度最佳化
12.4 本章小結
12.5 思考題








