動手學 AI Agent

[加] 邁克爾·蘭漢(Micheal Lanham)著 茹炳晟,柳飛,殷海英 譯

  • 動手學 AI Agent-preview-1
  • 動手學 AI Agent-preview-2
  • 動手學 AI Agent-preview-3
動手學 AI Agent-preview-1

買這商品的人也買了...

商品描述

"大多數生產級AI系統都需要在用戶、AI模型和各種數據源之間進行許多精心編排的交互。AI智能體將這些交互捕獲並組織成自主組件,這些組件可以在幕後處理信息、做出決策並從交互中學習。 《動手學AI Agent》將向你展示如何創建AI智能體,並將它們連接在一起構成強大的多智能體系統。 通過《動手學AI Agent》的學習,你將了解如何構建可投入生產環境的智能體助手、多智能體系統和行為智能體,掌握智能體的關鍵部分(包括檢索增強知識和記憶),創建能夠調用軟件工具、自主規劃任務並從經驗中學習的多智能體應用。在探索眾多有趣示例的過程中,你將接觸到最前沿的工具,如OpenAI Assistants API、GPT Nexus、LangChain、Prompt Flow、AutoGen和CrewAI等。 核心亮點 ? 知識管理與記憶系統 ? 用於智能體持續學習的反饋循環 ? 協作式多智能體系統 ? 語音與計算機視覺"

作者簡介

"MichealLanham是一位擁有超過20年行業經驗的軟件與技術創新者。他著有多種關於深度學習的書籍,其中包括Manning出版社出版的Evolutionary Deep Learning。本書的技術編輯是RossTurner。"

目錄大綱

目    錄

 

第1章  歡迎來到智能體的世界  1

1.1  智能體的定義  1

1.2  理解智能體的組件系統  4

1.3  審視智能體時代的崛起:為何需要智能體  8

1.4  剖析AI交互界面  10

1.5  縱覽智能體發展圖景  11

1.6  本章小結  11

第2章  掌控大語言模型的強大力量  13

2.1  掌握OpenAI API  15

2.1.1  連接到聊天補全類模型  15

2.1.2  理解請求和響應  16

2.2  使用LM Studio探索開源LLM  18

2.2.1  安裝和運行LM Studio  19

2.2.2  使用LM Studio在本地部署LLM服務  21

2.3  通過提示工程與LLM交互  23

2.3.1  創建詳細查詢  26

2.3.2  采用特定視角  27

2.3.3  使用分隔符  28

2.3.4  指定步驟  29

2.3.5  提供示例  30

2.3.6  指定輸出長度  31

2.4  為特定需求選擇最佳LLM  32

2.5  練習  34

2.6  本章小結  35

第3章  掌握GPT助手  36

3.1  通過ChatGPT探索GPT助手  36

3.2  構建具備數據科學能力的GPT  40

3.3  自定義GPT並添加自定義操作  45

3.3.1  創建一個GPT來輔助構建GPT  45

3.3.2  將自定義操作連接到助手  49

3.4  通過文件上傳擴展助手的知識庫  52

3.4.1  構建Calculus Made Easy GPT  52

3.4.2  通過文件上傳實現知識搜索及更多功能  55

3.5  發布GPT  57

3.5.1  高消耗的GPT助手  57

3.5.2  理解GPT的經濟邏輯  58

3.5.3  發布GPT供公眾使用  59

3.6  練習  60

3.7  本章小結  61

第4章  探索多智能體系統  63

4.1  通過AutoGen Studio介紹多智能體系統  64

4.1.1  安裝和使用AutoGen Studio  65

4.1.2  在AutoGen Studio中添加技能  67

4.2  探索AutoGen  71

4.2.1  安裝和使用AutoGen  71

4.2.2  使用評論員智能體增強代碼輸出  73

4.2.3  理解AutoGen緩存  75

4.3  智能體和AutoGen的群組聊天  76

4.4  使用CrewAI構建智能體團隊  78

4.4.1  創建CrewAI智能體的笑話團隊  79

4.4.2  使用AgentOps觀察智能體工作  82

4.5  使用CrewAI重新審視編碼智能體  84

4.6  練習  90

4.7  本章小結  91

第5章  賦能智能體行動力  92

5.1  定義智能體行動  92

5.2  執行OpenAI函數  94

5.2.1  向LLM API調用添加函數  94

5.2.2  執行函數調用  97

5.3  語義內核介紹  100

5.3.1  開始使用SK語義函數  101

5.3.2  語義函數和上下文變量  103

5.4  語義函數和原生函數的協同作用  105

5.4.1  創建和註冊語義技能/插件  105

5.4.2  應用原生函數  109

5.4.3  在語義函數中嵌入原生函數  111

5.5  語義內核作為交互式服務智能體  112

5.5.1  構建語義GPT接口  113

5.5.2  測試語義服務  115

5.5.3  基於語義服務層的交互式聊天  117

5.6  編寫語義服務時的語義思考  120

5.7  練習  122

5.8  本章小結  123

第6章  構建自主智能體  124

6.1  行為樹簡介  124

6.1.1  理解行為樹的執行邏輯  126

6.1.2  行為樹的選用考量  127

6.1.3  使用Python和py_trees運行行為樹  129

6.2  探索GPT Assistants Playground  130

6.2.1  安裝和運行Playground  130

6.2.2  使用和構建自定義動作  132

6.2.3  安裝助手數據庫  134

6.2.4  讓助手在本地運行代碼  134

6.2.5  通過日誌調查助手過程  136

6.3  智能體行為樹簡介  137

6.3.1  用助手管理助手  137

6.3.2  構建編碼挑戰ABT  138

6.3.3  對話式AI系統與其他方法  142

6.3.4  將YouTube視頻發布到X平臺  143

6.3.5  所需的X平臺配置  144

6.4  構建對話式自主多智能體  146

6.5  用反向鏈構建ABT  148

6.6  練習  149

6.7  本章小結  151

第7章  搭建和使用智能體平臺  152

7.1  Nexus簡介:不僅僅是一個智能體平臺  152

7.1.1  運行Nexus  153

7.1.2  開發Nexus  154

7.2  Streamlit聊天應用開發簡介  156

7.2.1  構建Streamlit聊天應用  157

7.2.2  創建流式聊天應用  159

7.3  為智能體開發配置文件和角色  161

7.4  為智能體提供動力並理解智能體引擎  163

7.5  為智能體配置動作和工具  165

7.6  練習  169

7.7  本章小結  170

第8章  理解智能體記憶和知識  171

8.1  理解AI應用中的檢索  171

8.2  檢索增強生成基礎知識  172

8.3  深入探討語義搜索和文檔索引  174

8.3.1  應用向量相似度檢索  174

8.3.2  向量數據庫與相似度檢索  177

8.3.3  揭秘文檔嵌入  179

8.3.4  從Chroma中查詢文檔嵌入  180

8.4  使用LangChain構建RAG  182

8.4.1  使用LangChain拆分和加載文檔  182

8.4.2  使用LangChain按token拆分文檔  184

8.5  將RAG應用於構建智能體知識體系  185

8.6  在智能體系統中實現記憶  189

8.6.1  在Nexus中使用記憶庫  190

8.6.2  語義記憶及其在語義記憶、情景記憶和程序記憶中的應用  192

8.7  理解記憶和知識壓縮  194

8.8  練習  196

8.9  本章小結  197

第9章  精通智能體提示詞與Prompt Flow  199

9.1  為什麼需要系統化的提示工程  199

9.2  理解智能體配置文件和個人角色  203

9.3  設置你的第一個Prompt Flow  204

9.3.1  入門準備  204

9.3.2  使用Jinja2模板創建配置  207

9.3.3  部署Prompt Flow API  208

9.4  評估配置:評估標準與事實校準  210

9.5  理解評估標準與事實校準  213

9.6  使用LLM配置進行事實校準  215

9.7  對比配置:獲得最優配置  216

9.7.1  解析LLM評估輸出結果  216

9.7.2  在Prompt Flow中運行批量處理  219

9.7.3  創建用於事實校準的評估流程  222

9.8  練習  225

9.9  本章小結  226

第10章  智能體推理與評估  228

10.1  理解直接解決方案提示詞  229

10.1.1  問答式提示詞  229

10.1.2  實現少樣本提示詞  232

10.1.3  使用零樣本提示詞提取通用特征  234

10.2  提示工程中的推理  236

10.2.1  思維鏈提示詞  237

10.2.2  零樣本思維鏈提示詞  241

10.2.3  基於提示詞鏈的分步推理  242

10.3  運用評估實現穩定輸出的解決方案  245

10.3.1  評估自洽性提示詞  246

10.3.2  評估思維樹提示詞  250

10.4  練習  254

10.5  本章小結  255

第11章  智能體規劃與反饋  256

11.1  規劃:所有智能體/助手的基本工具  256

11.2  理解順序規劃過程  261

11.3  構建順序規劃器  262

11.4  回顧分步規劃器:OpenAI Strawberry  268

11.5  將規劃、推理、評估和反饋應用於智能體/助手系統  271

11.5.1  智能體/助手規劃的應用  271

11.5.2  智能體/助手推理的應用  273

11.5.3  評估在智能體系統中的應用  274

11.5.4  反饋在智能體/助手應用中的應用  276

11.6  練習  277

11.7  本章小結  279

附錄A  訪問OpenAI大語言模型  280

A.1  註冊OpenAI賬戶並獲取密鑰  280

A.2  Azure OpenAI Studio、密鑰和模型部署  282

附錄B  Python開發環境  285

B.1  下載源代碼  285

B.2  安裝Python  286

B.3  安裝VS Code  286

B.4  安裝VS Code Python擴展  286

B.5  使用VS Code創建新的Python環境  287

B.6  使用VS Code開發容器(基於Docker)  288