相關主題
商品描述
《AI Agent開發:做與學——AutoGen入門與進階》是一本全面、深入且實用的AutoGen技術指南,能夠幫助讀者從基礎到 逐步掌握AutoGen Agent(智能體或代理)開發技術,為從事相關領域的開發和研究提供有力支持。 本書共六章,內容涵蓋AutoGen基礎理論、環境搭建、智能助手構建、 功能與性能優化、覆雜多Agent協作系統構建以及多Agent 模式與實戰。通過理論與實踐相結合的方式,幫助讀者全面掌握AutoGen構建Agent的應用與開發。 本書面向廣大人工智能領域的研究人員、工程師、高校學生以及對Agent開發充滿熱情的愛好者。|
目錄大綱
第1章 大模型、多模態技術、Agent與AGI應用發展趨勢1~18
1.1 大模型的概念與發展歷程 2
1.1.1 什麽是大模型? 2
1.1.2 大模型發展歷程中的關鍵里程碑 2
1.1.3 大模型的優勢與局限性 3
1.2 多模態技術的融合與應用場景(包括文本、圖像等) 4
1.2.1 什麽是多模態技術? 4
1.2.2 多模態融合的常見方式 4
1.2.3 多模態技術的應用場景 5
1.2.4 多模態技術的挑戰與未來發展方向 5
1.3 Agent的定義與核心作用 5
1.3.1 什麽是Agent? 6
1.3.2 Agent的核心組成部分 6
1.3.3 Agent在AutoGen中的作用和意義 6
1.3.4 Agent的不同類型 7
1.4 AGI應用的當前趨勢與未來展望 7
1.4.1 邁向通用之路:AGI的當前趨勢 8
1.4.2 挑戰與機遇:通往AGI的徵途 8
1.4.3 星辰大海:AGI的未來展望 9
1.5 常見LLM及其服務形式 9
1.5.1 常見的LLM 10
1.5.2 LLM的服務形式 11
1.5.3 如何選擇合適的LLM和服務形式 12
1.6 Agent主要框架類型和特點 12
1.6.1 Agent框架的類型 13
1.6.2 常見Agent框架的特點 13
1.6.3 AutoGen的獨特性 15
1.7 AutoGen定義、優勢與關鍵特性 16
1.7.1 AutoGen的版本發展 16
1.7.2 AutoGen的優勢 16
1.7.3 AutoGen的關鍵特性 17
1.7.4 AutoGen的應用場景 17
第2章 Agent開發環境及大模型的搭建19~46
2.1 搭建Python環境 20
2.1.1 跟我做:下載並安裝Anaconda 20
2.1.2 跟我學:瞭解Anaconda在Python開發中的作用 22
2.1.3 跟我學:安裝Anaconda中的集成工具 23
2.1.4 跟我學:Python虛擬環境 24
2.1.5 跟我學:用Anaconda界面管理Python虛擬環境 25
2.1.6 跟我學:用Anaconda命令行管理Python虛擬環境 26
2.2 配置Ollama環境 27
2.2.1 跟我做:下載並安裝Ollama運行環境 27
2.2.2 跟我學:瞭解Ollama 29
2.2.3 跟我學:探索Ollama的基礎架構與模型加載機制 29
2.2.4 跟我做:安裝DeepSeek模型到Ollama環境中並進行測試 31
2.2.5 跟我學:選取適合項目需求的大模型介紹 32
2.3 OpenAI客戶端安裝 34
2.3.1 跟我做:獲取API密鑰並安裝OpenAI客戶端 34
2.3.2 跟我學:瞭解OpenAI客戶端及API密鑰 35
2.3.3 跟我做:用OpenAI客戶端調用Ollama的DeepSeek模型 36
2.3.4 跟我學:瞭解支持OpenAI的大模型聚合平臺 37
2.3.5 跟我做:使用OpenAI以外的其他客戶端Gemini API 38
2.4 AutoGen安裝與使用 40
2.4.1 跟我做:安裝AutoGen 40
2.4.2 跟我學:AutoGen的核心模塊與擴展 40
2.4.3 跟我做:利用AutoGen低代碼模塊快速開發 41
2.4.4 跟我學:AutoGen的其他特性與應用場景 44
第3章 構建智能助手:使用AutoGen實現簡易Agent47~68
3.1 創建簡易智能客服助手 48
3.1.1 跟我做:規劃與設計智能客服助手功能 48
3.1.2 跟我學:理解Agent的工作原理及應用場景 51
3.2 AutoGen框架下的大模型調用 52
3.2.1 跟我做:利用AutoGen框架實現Agent 52
3.2.2 跟我學:AutoGen 0.4的主要開發模式與開發流程介紹 55
3.2.3 跟我學:AutoGen 0.4中所支持的其他LLM客戶端 56
3.3 深入異步編程與AutoGen 59
3.3.1 跟我做:在AutoGen中實現異步調用 59
3.3.2 跟我學:瞭解Python異步編程原理 61
3.4 異步編程模式的代碼優化 62
3.4.1 跟我做:用AutoGen實現健壯的高性能Agent 62
3.4.2 跟我學:異步編程的常用技巧 64
第4章 掌握AutoGen:從入門到精通69~113
4.1 AutoGen中的AgentChat與消息機制 70
4.1.1 跟我做:用消息機制與AssistantAgent對話 70
4.1.2 跟我學:理解AgentChat核心概念與用法 72
4.1.3 跟我學:瞭解AgentChat中 多的Agent 73
4.2 AutoGen中的多模態輸入 74
4.2.1 跟我做:使用MultiModalMessage發送多媒體消息 74
4.2.2 跟我學:瞭解AutoGen中的消息類型 76
4.3 AutoGen中的內部事件 78
4.3.1 跟我做:用流式消息窺察內部交互 79
4.3.2 跟我學:瞭解AutoGen中的流式消息 81
4.3.3 跟我學:瞭解AutoGen中的內部事件與Agent的交互 83
4.3.4 跟我學:AutoGen中的日誌機制 85
4.4 使用工具擴展Agent能力 87
4.4.1 跟我做:實現能夠自動反思工具結果的Agent 87
4.4.2 跟我學:理解工具調用機制 88
4.4.3 跟我學:瞭解AutoGen的Extension模塊中的內置工具 90
4.4.4 跟我做:自定義和使用HTTP工具獲取IP地址 90
4.4.5 跟我學:獲得 多免費工具API的方法 92
4.4.6 跟我學:AutoGen中的並行控制 94
4.4.7 跟我做:在Agent中限制工具調用的頻率 95
4.4.8 跟我學:優化工具使用策略 97
4.5 功能與性能優化 99
4.5.1 跟我做:實現多輪對話獲取真實天氣 99
4.5.2 跟我學:掌握模型上下文管理 101
4.5.3 跟我做:使用結構化輸出實現可以分析用戶意圖的智能家居Agent 103
4.5.4 跟我做:實現流式輸出的Agent 106
4.5.5 跟我學:理解結構化和流式輸出的原理與意義 107
4.6 自定義Agent基礎 108
4.6.1 跟我做:創建簡單的自定義Agent 108
4.6.2 跟我學:自定義Agent的基本設計 112
第5章 構建覆雜的多Agent協作系統114~173
5.1 構建高效團隊協作 115
5.1.1 跟我做:用RoundRobinGroupChat實現代碼審查協作 115
5.1.2 跟我學:深入瞭解RoundRobinGroupChat 120
5.1.3 跟我學:瞭解終止條件的概念與作用 121
5.1.4 跟我學:用run_stream方法監控團隊運行 121
5.1.5 跟我學:重置團隊 123
5.1.6 跟我做:用單Agent團隊完成循環處理待辦事項 124
5.2 人機協作與反饋 127
5.2.1 跟我做:構建AI輔助寫作的疊代優化系統 128
5.2.2 跟我學:深入理解UserProxyAgent的工作原理 131
5.2.3 跟我學:在下一次運行中提供反饋 132
5.2.4 跟我學:掌握max_turns參數的靈活運用 133
5.3 用終止條件控制任務 135
5.3.1 跟我做:構建一個帶有主動提問的餐飲推薦系統 135
5.3.2 跟我學:HandoffTermination終止條件的使用方法及原理 139
5.3.3 跟我學:內置終止條件的種類與適用場景 141
5.3.4 跟我學:終止條件的組合與 應用 143
5.3.5 跟我做:結合外部終止條件和文本終止條件控制團隊任務 143
5.3.6 跟我學:自定義終止條件 148
5.3.7 跟我學:終止條件在實際應用中的考量 149
5.4 狀態管理基礎 149
5.4.1 跟我做:構建支持斷點續作的任務系統 150
5.4.2 跟我學:Agent狀態管理的具體方法 152
5.4.3 跟我學:狀態持久化 154
5.5 用戶偏好記憶的管理與應用 155
5.5.1 跟我做:實現一個能夠記住用戶的Agent 155
5.5.2 跟我學:深入理解memory協議及其核心方法 160
5.5.3 跟我做:管理用戶偏好記憶 160
5.5.4 跟我學:瞭解MemoryContent的結構 162
5.5.5 跟我學:瞭解MemoryContent在不同場景下的應用方法 163
5.5.6 跟我做:構建帶有向量檢索功能的記憶Agent 166
5.5.7 跟我學:ChromaDBVectorMemory模塊的詳細用法 169
5.6 Agent開發中大模型與輔助模塊的協同要點回顧 172
第6章 多Agent 模式與實戰174~237
6.1 模式一:輪詢組聊模式——制定旅行計劃 175
6.1.1 跟我做:開發智能旅行計劃助手 175
6.1.2 跟我學:瞭解輪詢組聊模式以及適用場景 182
6.2 模式二:選擇路由模式——市場研究報告生成 182
6.2.1 跟我做:構建市場研究報告生成系統 183
6.2.2 跟我學:瞭解SelectorGroupChat 187
6.2.3 跟我做:自定義SelectorGroupChat的選擇邏輯 189
6.2.4 跟我學:瞭解選擇路由模式以及適用場景 193
6.3 模式三:群體協作模式——覆雜項目任務調度系統 195
6.3.1 跟我做:構建智能家居安裝項目調度系統 195
6.3.2 跟我學:Swarm模式的工作機制與優勢 202
6.3.3 跟我學:瞭解群體協作模式以及適用場景 204
6.4 模式四:綜合Agent模式—— 根據用戶輸入調整響應 205
6.4.1 跟我做:構建具有聯網搜索功能的戶外運動規劃助手 205
6.4.2 跟我學:Magentic-One架構的設計理念與實現方法 209
6.4.3 瞭解綜合Agent模式以及適用場景 212
6.5 模式五:反思模式 215
6.5.1 跟我做:使用底層庫創建具有反思功能的代碼生成系統 215
6.5.2 跟我學:瞭解autogen_core 225
6.5.3 跟我學:瞭解反思模式以及適用場景 227
6.6 Agent實戰與總結 229
6.6.1 跟我做:實現基於Web界面的Agent 229
6.6.2 跟我學:AutoGen與其他框架的組合 235
6.6.3 回顧Agent 236
致謝238