描述
內容簡介
|
作者簡介
| 凌峰 博士
目前就職于某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 思考題 |
序
| 前言
在人工智慧和自然語言處理迅速發展的背景下,大語言模型(LLM)已成為業界不可或缺的工具。它不僅提升了資訊處理能力,還為智慧應用程式開發提供了堅實的技術基礎。LangChain作為LLM應用的重要框架,使開發者得以高效率地整合和運用這些強大模型,將自然語言處理技術實踐到實際業務場景中。 本書旨在帶領讀者從零基礎開始掌握LangChain的應用技巧,逐步建構企業級的智慧應用系統。 全書共分12章,涵蓋從基礎理論到企業級專案實踐的完整開發路徑,透過層層遞進的方式,幫助讀者逐步從理論學習走向專案實戰,全面掌握LangChain的開發過程。 第1章介紹大語言模型的基本概念及LangChain的優勢與應用場景,為讀者奠定紮實的理論基礎。 第2章講解開發前的準備工作,包括API金鑰的建立與管理,以及開發工具鏈的架設,確保讀者在開始編碼前了解必要的環境與設定。 第3~6章逐步帶領讀者了解LangChain的核心元件與功能模組,包括模型匯入、提示詞工程、任務鏈設計和記憶體模組,並透過程式範例來幫助理解與實踐。舉例來說,在提示詞工程部分,讀者將學習如何建構和最佳化Prompt範本,以提升模型輸出的準確性和相關性;在任務鏈設計部分,透過多層鏈式任務的實戰範例,方便讀者掌握應對複雜應用需求的建構與偵錯技巧。 第7章主要介紹於LangChain的運算式語言和並行處理技巧,介紹如何用簡潔的語法來提升資料處理的效率。 第8章介紹Agent系統的類型及其多工處理,幫助讀者實現任務的智慧化和自動化。 第9章詳細講解回呼機制,展示如何自訂回呼處理常式,並利用回呼函數對任務進行即時監控,從而提升系統的靈活性和可控性。 第10章深入模組化開發與系統集成,介紹LangChain的模型I/O及資料檢索技術,為企業級應用的開發與維護提供實用指導。 第11章主要介紹LangChain在企業級應用中的深度開發與技術最佳化。從實際應用場景出發,深入探討性能最佳化、任務鏈設計和複雜查詢處理等高級技術,幫助開發者打造高效、可靠的企業級解決方案。 第12章結合前11章的基礎知識,逐步實現一個完整的企業級智慧問答系統。從需求分析、架構設計到程式實現,詳細展示LangChain在企業級應用中的實際實踐過程,幫助讀者在真實應用場景中深入理解和應用LangChain的各種功能模組,滿足多樣化的企業業務需求。 本書的目標是不僅幫助讀者掌握LangChain的基本使用,還要讓讀者能更深入地理解其內部機制和高級功能。無論是開發環境的架設、模型的最佳化、併發處理,還是回呼機制的監控與偵錯,書中均有詳細的程式範例和專案實踐,以期帶領讀者逐步掌握這些關鍵技能。 本書適合對LangChain及大語言模型應用有濃厚興趣的開發者、研究人員和學生。希望透過本書的學習,讀者能夠熟練運用LangChain開發智慧化、高效的企業級應用,並在未來的專案中將所學知識轉化為實用技能,為企業智慧應用程式開發作出積極貢獻。
如果讀者在學習本書的過程中遇到問題,可以發送郵件至booksaga@126.com,郵件主題為「LangChain核心技術與LLM專案實踐」。
凌峰 |





















