如何学习ai agent?

news2024/12/24 2:32:04

如何学习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.coloradmin.cn/o/1717590.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql基础教程(10):LIMIT

MySQL LIMIT 用法与实例 在 MySQL 中,我们使用 LIMIT 子句来限定 SELECT 语句返回的行的数量。 MySQL LIMIT语法 该 LIMIT 子句可用于限制 SELECT 语句返回的行数。 LIMIT 接受一个或两个非负数正数作为参数。 LIMIT 子句的语法如下: LIMIT [offset,…

python绘制北京汽车流量热力图:从原理到实践

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、热力图绘制原理 三、热力图绘制实践 1. 数据准备 2. 地图组件选择 3. 数据…

seRsync + Rsync 实时同步

文章目录 1,结构图2,节点A2.1 安装rsync2.2 安装seRsync2.3, 创建seRsync的守护进程用systemd管理并启动2.4,上传rsync.pass密码文件到配置文件目录:/etc/2.5 ,重新加载systemd,启动sersyncd守护…

CSPM.pdf

PDF转图片 归档:

直播领域新宠—第三代大模型无人直播系统:提升销售业绩的秘密武器

随着科技的飞速发展和人们对智能化生活的追求,直播领域也迎来了革新性的突破。第三代大模型无人直播系统,作为直播领域的新宠,正以其独特的魅力和优势,成为提升销售业绩的秘密武器。 首先,第三代大模型无人直播系统具…

3---C++之list(逻辑梳理、简单使用演示、部分源码实现)

一、先决知识点1——认识list: list底层实现是双向链表,但是不是循环链表。list是否使用哨兵节点,是细节问题,C标准并未规定。list是链表,他的优势在于对节点的操作会十分灵活,因此它在需要频繁插入和删除元…

压力测试JMeter

压力测试JMeter 1 下载JMeter1.1 测试计划1.2 JMeter Address Already in use 错误解决1.3 java 内存模型1.4 jconsole与jvisualvm1.5 优化方向1.6 Nginx动静分离 1 下载JMeter 官网地址:https://jmeter.apache.org/download_jmeter.cgi 运行apache-jmeter-5.6.3\…

鸿蒙应用Stage模型【应用/组件级配置】

应用/组件级配置 在开发应用时,需要配置应用的一些标签,例如应用的包名、图标等标识特征的属性。本文描述了在开发应用需要配置的一些关键标签。 应用包名配置 应用需要在工程的AppScope目录下的[app.json5配置文件]中配置bundleName标签,…

万字长文详解QUIC协议,为什么有了TCP我们还需要QUIC?

本文目录 1.前言2. HTTP缺点缺点一:建立连接的握手延迟大缺点二:多路复用的队首阻塞缺点三:TCP协议的更新滞后 3.TCP缺点3.QUIC优点一:避免队首阻塞的多路复用优点二:支持连接迁移优点三:可插拔的拥塞控制优…

YAML快速编写示例

一、案例 1.1 自主式创建service关联上方的pod 资源名称my-nginx-kkk命名空间my-kkk容器镜像nginx:1.21容器端口80标签njzb:my-kkk 1.1.1 创建一个demo文件夹 1.1.2 创建并获取模版文件 1.1.3 查看服务并编写yaml文件 1.1.4 编写yaml文件并部署,查看服务是否运行成…

Kotlin和Swift的前世一定是兄弟

Swift介绍 Swift这门编程语言主要用于iOS和MacOS的开发,可以说是非常流行的一门编程语言,我只想说,如果你会Kotlin,那么你学习Swift会非常容易,反之亦然。下载XCode,然后你就可以创建Playground练习Swift语…

Qt图像处理技术十:得到QImage图像的高斯模糊

效果图 参数为5 参数为20 原理 高斯模糊使用正态分布来分配周围像素的权重。具体来说,距离中心点越近的像素对最终结果的影响越大,权重也越高;随着距离的增加,权重逐渐减小。 这种权重分配方式确保了图像在模糊处理时&#xff0…

Docker(Centos7+)

先确定是否 Centos 7 及以上的版本 查看是否 ping 通外网 linux centos7运行下面的代码,基本上都可以正常安装 # 删除之前的docker残留 yum -y remove docker*yum install -y yum-utilsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/…

中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型

一、介绍 中草药识别系统。本系统基于TensorFlow搭建卷积神经网络算法(ResNet50算法)通过对10中常见的中草药图片数据集(‘丹参’, ‘五味子’, ‘山茱萸’, ‘柴胡’, ‘桔梗’, ‘牡丹皮’, ‘连翘’, ‘金银花’, ‘黄姜’, ‘黄芩’&…

我给线程池管理框架hippo4j找bug

1 虚拟机参数不生效 hippo4j的docker启动脚本位于 docker/docker-startup.sh 。从下图可以看到 JAVA_OPT放在了jar包名 hippo4j-server.jar之后,而只有项目参数才放在jar包名之后。 实际上这里JAVA_OPT中包含虚拟机参数,而虚拟机参数要放在jar包名之前…

windows配置dns访问git , 加快访问速度保姆级教程

设置 DNS 访问 Git 需要修改电脑的 DNS 配置。下面是具体的操作流程: 第一步:打开命令提示符或终端窗口 在 Windows 系统中,可以按下 Win R 组合键,然后输入 “cmd”,按下 Enter 键打开命令提示符窗口。在 macOS 或 …

【tomcat 源码分析总结】

文章目录 tomcat官网路径目录结构介绍:Tomcat 系统架构 和 原理剖析http 的请求的处理过程 Tomcat 请求处理大致过程 tomcat官网路径 目录结构介绍: confserver.xml 端口的指定tomcat-users.xml 角色web.xml : tomcat 全局的xmllogging.properties 日志…

深入剖析 Kubernetes 原生 Sidecar 容器

1 Sidecar 容器的概念 sidecar 容器的概念在 Kubernetes 早期就已经存在。一个明显的例子就是 2015 年的这篇 Kubernetes 博客文章,其中提到了 sidecar 模式。多年来,sidecar 模式在应用程序中变得越来越普遍,使用场景也变得更加多样化。 其…

华为官网的自助申诉

代码&#xff1a;如下 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Document</title> …

乐观锁 or 悲观锁 你怎么选?

你有没有听过这样一句话&#xff1a;悲观者正确&#xff0c;乐观者成功​。那么今天我来分享下什么是乐观锁​和悲观锁。 乐观锁和悲观锁有什么区别&#xff0c;它们什么场景会用 乐观锁 乐观锁基于这样的假设&#xff1a;多个事务在同一时间对同一数据对象进行操作的可能性很…