如何學習ai agent?

如何學習Agent,推薦閱讀《動手做AI Agent》這本書。

推薦理由:

1:一本書能夠全方位了解并探索Agent的奧秘!

(1)Agent的發展進程。

(2)可以幫我們做哪些事:自動辦公,個性化推薦,流程的自動化與資源的優化等。

(3)了解如何用Agent提升各行業的效能以及Agent所能帶來新的商業模式和變革。

(4)Agent的發展前景:下一代Agent的誕生地,即科研論文中的新思路。

2:動手從0到1做AI Agent,7個實例全方位解析Agent的設計與實現!

(1)基于大模型的Agent技術框架:Agent四大要素,規劃和決策能力,調用工具,ReAct框架等。

(2)初識OpenAI API、LangChain和LlamaIndex。

(3)7個實例,從自動化辦公到多功能選擇的引擎,從實現自動定價到智能調度庫存,技術路線全面。

3:進階Agent開發能力,零距離接觸GPT-4模型、LangChain等尖端技術!

(1)全面學習LangChain架構:ReAct框架,Plan-and-Execute等。

(2)全面學習LlamaIndex:提示工程、RAG與微調等。

(3)GitHub的網紅聚落:AutoGPT、BabyAGI和CAMEL。

(4)多Agent框架:AutoGen,MetaGPT。

隨著技術的進步,我們開始期待更多:我們所向往的是一個不僅把人工智能生成內 容視為工作的一部分,還將人工智能作為連接更加復雜任務的關鍵紐帶的時代。

這種愿景正是 Agent誕生的起點。

在探索人工智能的奧秘和可能性的征程中,Zhen Fund(真格基金)認為生成式人 工智能應用需要經歷表 1 所示的 5 個層級。

目前流行的 Chat GP T 和 Copilot 分別位于 L2 和 L3,可以將它們視為一種初級 的 Agent。ChatGPT 能夠根據對話上下文(記憶)來響應提示輸入的操作,向人類展 示有價值的對話,而 Copilot 通過與人類協作,可以在多個層面上提升完成相應任務的 效能。

從 L3 到 L4 的跨越是一個從被動到自主的分水嶺,在這個跨越過程中, Agent 將 成為關鍵的驅動力。

未來的 Agent 將不僅僅是內容生成工具。它們將整合人工智能模型、海量數據和 多樣化的工具,從而能執行各種任務,完成不同的工作。這些 Agent 跨越單純的內容 生成的界限,開始涉足決策制定和行動實施等領域。無論是解讀復雜指令、規劃策略、 拆解任務,還是執行實現目標的具體步驟,它們都將展現出獨特的自主性和適應性。更 為關鍵的是,這些 Agent 能夠接入并靈活運用多種輔助工具和數據資源,從而大幅拓 寬工作領域和提高工作能力。

盡管構建 Agent 的基石已經準備就緒,但 Agent 的技術發展仍處于萌芽階段。開 發者需要進行深入思考并動手實踐,以確立 Agent 的開發框架、Agent 訪問工具的方 式、與數據交互的方式,以及如何對話以完成具體任務。這些問題的答案將塑造未來 Agent 的形態和能力。

在解鎖 Agent的巨大潛力的過程中,我們需要深入探討以下幾個關鍵問題。

■ Agent 如何在各行各業中提升效率以及創造機會和更多可能性?

■ 在眾多的 Agent 框架中,如何選擇適合自己需求的框架?

■ 在解決現實世界的問題時,如何實施 Agent 才最有效?

■ 自主 Agent 如何改變我們對人工智能驅動的任務管理的認知和實踐?

目前無論是學術界還是產業界,對人工智能應用開發的關鍵問題遠未達成共識。本 書或許可以作為讀者深入探討上述問題的漫長旅途的開端。本書旨在從技術和工具層面 闡釋 Agent 設計的框架、功能和方法,具體涉及如下技術或工具。

■ Open AI API 以 及 Open AI Assistants :用 于 調 用 包 含 GP T -4 模 型 和 DALL ·E 3 模型在內的眾多人工智能模型。

■ LangCha in :開源框架,旨在簡化構建基于語言的人工智能應用的過程,其中 包含對 ReAct 框架的封裝和實現。

■ Llama Index :開源框架,用于幫助管理和檢索非結構化數據,利用大模型的 能力和 Agent 框架來提高文本檢索的準確性、效率和智能程度。

這些技術和工具都可以用于構建 Agent,它們通過接口連接大模型,為 Agent 提 供語言理解、內容生成和決策支持的能力。通過它們, Agent 可以支持多種外部工具, 進而執行復雜任務以及與環境進行交互。

除了介紹 Agent的框架和開發工具之外,本書還將通過 7 個實操項目,帶領讀者學習前沿的 Agent實現技術。這 7 個項目分別如下:

Agent 1:自動化辦公的實現——通過 Assistants API 和 DALL ·E 3 模型創 作 PPT。

■ Agent 2:多功能選擇的引擎——通過 Function Calling 調用函數。

■ Agent 3:推理與行動的協同——通過 LangChain 中的 ReAct 框架實現自動 定價。

■ Agent 4: 計 劃 和 執 行 的 解 耦 —— 通 過 Lang Chain 中 的 Play - and - Execute 實現智能調度庫存。

■ Agent 5:知識的提取與整合——通過 LlamaIndex 實現檢索增強生成 Agent。

■ Agent 6:GitHub 的網紅聚落——AutoGPT、BabyAGI 和 CAMEL。

■ Agent 7:多 Agent 框架——AutoGen 和 MetaGPT。

詳細目錄

第 1章 何謂Agent,為何Agent 001

1.1 大開腦洞的演講:Life 3.0 001

1.2 那么,究竟何謂Agent 003

1.3 Agent的大腦:大模型的通用推理能力 006

1.3.1 人類的大腦了不起 006

1.3.2 大模型出現之前的Agent 007

1.3.3 大模型就是Agent的大腦 008

1.3.4 期望頂峰和失望低谷 010

1.3.5 知識、記憶、理解、表達、推理、反思、泛化和自我提升 012

1.3.6 基于大模型的推理能力構筑AI應用 015

1.4 Agent的感知力:語言交互能力和多模態能力 016

1.4.1 語言交互能力 016

1.4.2 多模態能力 016

1.4.3 結合語言交互能力和多模態能力 017

1.5 Agent的行動力:語言輸出能力和工具使用能力 017

1.5.1 語言輸出能力 017

1.5.2 工具使用能力 018

1.5.3 具身智能的實現 019

1.6 Agent對各行業的效能提升 019

1.6.1 自動辦公好助手 020

1.6.2 客戶服務革命 020

1.6.3 個性化推薦 020

1.6.4 流程的自動化與資源的優化 021

1.6.5 醫療保健的變革 021

1.7 Agent帶來新的商業模式和變革 022

1.7.1 Gartner的8項重要預測 023

1.7.2 Agent即服務 024

1.7.3 多Agent協作 025

1.7.4 自我演進的AI 026

1.7.5 具身智能的發展 026

1.8 小結 027

第 2章 基于大模型的Agent技術框架 029

2.1 Agent的四大要素 029

2.2 Agent的規劃和決策能力 031

2.3 Agent的各種記憶機制 032

2.4 Agent的核心技能:調用工具 033

2.5 Agent的推理引擎:ReAct框架 035

2.5.1 何謂ReAct 035

2.5.2 用ReAct框架實現簡單Agent 038

2.5.3 基于ReAct框架的提示 040

2.5.4 創建大模型實例 043

2.5.5 定義搜索工具 044

2.5.6 構建ReAct Agent 044

2.5.7 執行ReAct Agent 045

2.6 其他Agent認知框架 047

2.6.1 函數調用 047

2.6.2 計劃與執行 048

2.6.3 自問自答 048

2.6.4 批判修正 048

2.6.5 思維鏈 048

2.6.6 思維樹 048

2.7 小結 049

第3章 OpenAI API、LangChain和LlamaIndex 051

3.1 何謂OpenAI API 052

3.1.1 說說OpenAI這家公司 052

3.1.2 OpenAI API和Agent開發 055

3.1.3 OpenAI API的聊天程序示例 057

3.1.4 OpenAI API的圖片生成示例 063

3.1.5 OpenAI API實踐 065

3.2 何謂LangChain 067

3.2.1 說說LangChain 068

3.2.2 LangChain中的六大模塊 073

3.2.3 LangChain和Agent開發 074

3.2.4 LangSmith的使用方法 075

3.3 何謂LlamaIndex 077

3.3.1 說說LlamaIndex 077

3.3.2 LlamaIndex和基于RAG的AI開發 078

3.3.3 簡單的LlamaIndex開發示例 081

3.4 小結 084

第4章 Agent 1:自動化辦公的實現——通過Assistants API和DALL·E 3模型創作PPT 085

4.1 OpenAI公司的Assistants是什么 086

4.2 不寫代碼,在Playground中玩Assistants 086

4.3 Assistants API的簡單示例 090

4.3.1 創建助手 091

4.3.2 創建線程 095

4.3.3 添加消息 097

4.3.4 運行助手 099

4.3.5 顯示響應 103

4.4 創建一個簡短的虛構PPT 105

4.4.1 數據的收集與整理 106

4.4.2 創建OpenAI助手 106

4.4.3 自主創建數據分析圖表 108

4.4.4 自主創建數據洞察 112

4.4.5 自主創建頁面標題 114

4.4.6 用DALL·E 3模型為PPT首頁配圖 115

4.4.7 自主創建PPT 116

4.5 小結 121

第5章 Agent 2:多功能選擇的引擎——通過Function Calling調用函數 122

5.1 OpenAI中的Functions 122

5.1.1 什么是Functions 123

5.1.2 Function的說明文字很重要 124

5.1.3 Function定義中的Sample是什么 124

5.1.4 什么是Function Calling 126

5.2 在Playground中定義Function 127

5.3 通過Assistants API實現Function Calling 130

5.3.1 創建能使用Function的助手 131

5.3.2 不調用Function,直接運行助手 133

5.3.3 在Run進入requires_action狀態之后跳出循環 140

5.3.4 拿到助手返回的元數據信息 141

5.3.5 通過助手的返回信息調用函數 141

5.3.6 通過submit_tool_outputs提交結果以完成任務 143

5.4 通過ChatCompletion API來實現Tool Calls 147

5.4.1 初始化對話和定義可用函數 148

5.4.2 第 一次調用大模型,向模型發送對話及工具定義,并獲取響應 149

5.4.3 調用模型選擇的工具并構建新消息 151

5.4.4 第二次向大模型發送對話以獲取最終響應 153

5.5 小結 154

第6章 Agent 3:推理與行動的協同——通過LangChain中的ReAct框架實現自動定價 156

6.1 復習ReAct框架 156

6.2 LangChain中ReAct Agent 的實現 159

6.3 LangChain中的工具和工具包 160

6.4 通過create_react_agent創建鮮花定價Agent 162

6.5 深挖AgentExecutor的運行機制 166

6.5.1 在AgentExecutor中設置斷點 166

6.5.2 第 一輪思考:模型決定搜索 169

6.5.3 第 一輪行動:工具執行搜索 175

6.5.4 第二輪思考:模型決定計算 179

6.5.5 第二輪行動:工具執行計算 180

6.5.6 第三輪思考:模型完成任務 182

6.6 小結 185

第7章 Agent 4:計劃和執行的解耦——通過LangChain中的Plan-and-Execute實現智能調度庫存 186

7.1 Plan-and-Solve策略的提出 186

7.2 LangChain中的Plan-and-Execute Agent 190

7.3 通過Plan-and-Execute Agent實現物流管理 192

7.3.1 為Agent定義一系列進行自動庫存調度的工具 192

7.3.2 創建Plan-and-Execute Agent并嘗試一個“不可能完成的任務” 193

7.3.3 完善請求,讓Agent完成任務 200

7.4 從單Agent到多Agent 203

7.5 小結 204

第8章 Agent 5:知識的提取與整合——通過LlamaIndex實現檢索增強生成 205

8.1 何謂檢索增強生成 206

8.1.1 提示工程、RAG與微調 206

8.1.2 從技術角度看檢索部分的Pipeline 208

8.1.3 從用戶角度看RAG流程 209

8.2 RAG和Agent 210

8.3 通過LlamaIndex的ReAct RAG Agent實現花語秘境財報檢索 211

8.3.1 獲取并加載電商的財報文件 211

8.3.2 將財報文件的數據轉換為向量數據 211

8.3.3 構建查詢引擎和工具 213

8.3.4 配置文本生成引擎大模型 214

8.3.5 創建 Agent以查詢財務信息 214

8.4 小結 215

第9章 Agent 6:GitHub的網紅聚落——AutoGPT、BabyAGI和CAMEL 216

9.1 AutoGPT 217

9.1.1 AutoGPT簡介 217

9.1.2 AutoGPT實戰 218

9.2 BabyAGI 222

9.2.1 BabyAGI簡介 222

9.2.2 BabyAGI實戰 224

9.3 CAMEL 236

9.3.1 CAMEL簡介 236

9.3.2 CAMEL論文中的股票交易場景 237

9.3.3 CAMEL實戰 241

9.4 小結 248

第 10章 Agent 7:多Agent框架——AutoGen和MetaGPT 250

10.1 AutoGen 250

10.1.1 AutoGen簡介 250

10.1.2 AutoGen實戰 253

10.2 MetaGPT 256

10.2.1 MetaGPT簡介 256

10.2.2 MetaGPT實戰 257

10.3 小結 263

附錄A 下一代Agent的誕生地:科研論文中的新思路 264

A.1 兩篇高質量的Agent綜述論文 264

A.2 論文選讀:Agent自主學習、多Agent合作、Agent可信度的評估、邊緣系統部署以及具身智能落地 266

A.3 小結 267

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20757.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TypeScript 中的迭代器和生成器

1. 迭代器 迭代器是一種對象&#xff0c;它提供了一種統一的方式來訪問集合中的元素&#xff0c;而不暴露集合的內部結構。在 TypeScript 中&#xff0c;迭代器通過實現 Iterator 接口來定義。 interface Iterator<T> {next(): IteratorResult<T>; }interface It…

Liunx登錄時相關bash配置文件(登錄腳本)

profile類的文件&#xff1a;設定環境變量&#xff0c;運行命令或腳本 bashrc類的文件&#xff1a;定義命令別名 全局配置&#xff1a; /etc/profile /etc/profile.d/*.sh /etc/bashrc 個人配置文件: ~/.bash_profile ~/.bashrc 用戶登錄時加載bash配置文件的過程&#xff0c;…

碼隨想錄算法訓練營第二十四天| 77. 組合

77. 組合 - 力扣&#xff08;LeetCode&#xff09; class Solution {ArrayList<Integer> path new ArrayList<>();ArrayList<List<Integer>> result new ArrayList<>();public List<List<Integer>> combine(int n, int k) {if(n &…

升級Jenkins從2.263.3到2.440.2

升級Jenkins從2.263.3到2.440.2 ###任何一次升級前&#xff0c;先做整體備份&#xff0c;同時最好對plugins目錄和config.xml單獨備份。 ###對于任何一次插件安裝&#xff0c;務必安裝前先備份當前的plugins目錄&#xff0c;這是血的教訓。升級過程 1、 升級2.263.3到2.263.4…

15-通過JS代碼處理窗口滾動條

selenium并不是萬能的&#xff0c;頁面上有些操作無法實現時&#xff0c;就需要借助JS代碼來完成了。selenium提供了一個方法&#xff1a;execute_script()&#xff0c;可以執行JS腳本代碼。 比如&#xff1a;當頁面上的元素超過一屏后&#xff0c;想操作屏幕下方的元素&#x…

MyBatis查詢功能

MyBatis的各種查詢功能 1、若查詢出的數據只有一條 &#xff08;1)可以通過實體類對象或者集合接收 (2)可以通過List集合接收 (3&#xff09;可以通過map集合接收 結果&#xff1a;{password123456, sex女, id8, age22, email1234qq.com, usernameadmin4} 2、若查詢出來的數據有…

[leetcode hot 150]第一百零八題,將有序數組轉換為二叉搜索樹

題目&#xff1a;給你一個整數數組 nums &#xff0c;其中元素已經按 升序 排列&#xff0c;請你將其轉換為一棵 平衡二叉搜索樹。 給定一個有序的整數數組,我們需要構建一棵平衡的二叉搜索樹。平衡二叉樹是指任意一個節點的左右子樹的高度差不超過1。 由于給定的數組是有序的…

阿里云計算學習筆記(一)

運維管理 運維管理&#xff08;Operation and Maintenance Management, 簡稱O&M管理&#xff09;是指通過科學的管理方法和技術手段&#xff0c;對IT系統和基礎設施進行監控、維護、優化和保障&#xff0c;以確保系統的高可用性、穩定性、安全性和性能。運維管理涵蓋了硬件…

Prime1 - 提權的另一種解法,徹底搞懂OpenSSL解密滲透提權,超強思路版。

提權枚舉 現在我們直接從低權限用戶開始&#xff1b;我們先按照提權步驟&#xff0c;簡單的系統枚舉 雖然我們知道可以利用系統版本低進行內核提權&#xff0c;內核提權雖然比較快比較方便&#xff0c;但也比較暴力&#xff0c;缺點非常明顯&#xff1b;很容易導致系統服務中…

【云原生】Kubernetes----POD控制器

目錄 引言 一、Pod控制器概述 二、Pod控制器的種類 &#xff08;一&#xff09;ReplicaSet &#xff08;二&#xff09;Deployment &#xff08;三&#xff09;StatefulSet &#xff08;四&#xff09;DaemonSet &#xff08;五&#xff09;Job 三、使用POD控制器 &a…

【Seafile】Seafile容器版文件刪除后存儲空間不釋放問題解決

Seafile是一款非常優秀的網盤系統&#xff0c;我們可以根據官方文檔&#xff0c;在本地虛擬機研究Seafile免費版的安裝和使用&#xff0c;安裝建議采用使用docker容器的方式。 不過在使用過程中&#xff0c;剛接觸的小伙伴可能會遇到這樣的問題&#xff1a; 刪除網盤里面的文…

數據賦能(106)——方法論:描述模式與AI——批量處理

在一系列相似的主題內容進行編寫時&#xff0c;可以采用批處理的方式。主要步驟如下&#xff1a; 1、確定主題內容模式。如&#xff1a;各個主題的概述中&#xff0c;包括如下內容模式項目&#xff1a;工作主要目的、工作重要性、工作核心內容、工作本質 2、確定模式的各項內…

C++設計模式-狀態模式

文章目錄 28. 狀態模式 運行在VS2022&#xff0c;x86&#xff0c;Debug下。 28. 狀態模式 狀態模式讓一個對象的行為隨著內部狀態的改變而改變&#xff0c;而該對象也像換了類一樣。應用&#xff1a;如在游戲開發中&#xff0c;游戲有不同場景&#xff0c;如主菜單、開始、戰斗…

在leafet上畫圓、多邊形、線、矩形

在leaflet上畫圓、多邊形、線、矩形 <template><div id"map" class"map"></div> </template><script> import L from leaflet; export default {data () {return {myGroup: ,};},mounted () {this.initMaps()this.huizhiro…

Houdini的PythonScript基本使用

前言 Houdini內置了Python腳本和相應的編輯器, 很多時候想靈活的制作各種Houdini工具, 基本是必須用到 Python。Houdini官方的python提供了非常完善的接口, 比如可以創建各種節點&#xff0c;連接各種節點&#xff0c;遍歷節點各種數據&#xff0c;遍歷節點參數等等。 Houdin…

Spring中Bean的生命周期詳解

目錄 Bean的定義和作用Bean的生命周期概述Bean實例化階段依賴注入階段初始化階段Bean的使用銷毀階段完整的Bean生命周期流程示例代碼總結 Bean的定義和作用 在Spring框架中&#xff0c;Bean是指由Spring IoC容器管理的Java對象。Bean是構建Spring應用程序的基本單元&#xf…

word避免畫質畫質模糊方法

問題描述&#xff1a; ??近期寫文檔時會高頻率貼圖&#xff0c;粘圖過程中發現Word會自動壓縮圖片畫質&#xff0c;而且壓縮得很嚴重&#xff0c;下面是一幅圖被壓縮前后的畫質對比 &#xff08;圖片壓縮前&#xff09; &#xff08;圖片壓縮后&#xff09; 解決方案&#x…

基于JSP的九宮格日志網站

你好呀&#xff0c;我是學長貓哥&#xff01;如果有需求可以文末加我。 開發語言&#xff1a;Java 數據庫&#xff1a;MySQL 技術&#xff1a;JSP技術 工具&#xff1a;瀏覽器/服務器&#xff08;B/S&#xff09;結構 系統展示 首頁 管理員功能模塊 用戶功能模塊 摘要 本…

GPT-4o VS GPT-3.5 完勝

前言&#xff1a; 最近&#xff0c;GPT-4o已經限時免費開放了&#xff0c;試了一下&#xff0c;然后&#xff0c;說我的時間到了&#xff0c;然后&#xff0c;有給我轉到3.5&#xff0c;正好遇到一個問題做一下對吧&#xff0c;感覺4O完勝啊。3.5還是很好胡謅&#xff0c;也就…

[Algorithm][動態規劃][子序列問題][最長定差子序列][最長的斐波那契子序列的長度]詳細講解

目錄 1.最長定差子序列1.題目鏈接2.算法原理詳解3.代碼實現 2.最長的斐波那契子序列的長度1.題目鏈接2.算法原理詳解3.代碼實現 1.最長定差子序列 1.題目鏈接 最長定差子序列 2.算法原理詳解 思路&#xff1a; 確定狀態表示 -> dp[i]的含義 以i位置元素為結尾的所有子序列…