AI AIgents时代-(四.)应用上手

news2025/4/3 16:56:25

HuggingGPT & MetaGPT .

🟢 HuggingGPT

HuggingGPT是一个多模型调用的 Agent 框架,利用 ChatGPT 作为任务规划器,根据每个模型的描述来选择 HuggingFace 平台上可用的模型,最后根据模型的执行结果生成总结性的响应。

这个项目目前已在 Github 上开源,并且有一个非常酷的名字叫做 JARVIS(钢铁侠的助手)。这项研究主要涉及到两个主体,一个是众所周知的 ChatGPT,另一个是 AI 社区中的 Hugging Face。

Hugging Face是什么?

简单来说,Hugging Face是一个专注于人工智能的开源社区平台,用户可以在该平台上发布和共享预训练模型、数据集和展示文件等。目前在Hugging Face上已经共享了超过10万个预训练模型和1万多个数据集。包括微软、谷歌、彭博社、英特尔等众多行业的1万家机构都在使用Hugging Face的产品。

在HuggingGPT中,ChatGPT充当了”操作大脑”的角色,能够自动解析用户提出的需求,并在Hugging Face的AI模型库中进行自动模型选择、执行和报告,为我们开发更复杂的人工智能程序提供了极大的便利。

HuggingGPT 工作原理

这个系统包含四个阶段:

1. 任务规划

使用LLM作为大脑,将用户的请求解析为多个任务。每个任务都有任务类型、ID、依赖关系和参数四个属性。系统会使用一些示例来指导LLM进行任务解析和规划。

具体指令如下:

[{"task": task, "id", task_id, "dep": dependency_task_ids, "args": {"text": text, "image": URL, "audio": URL, "video": URL}}]

  • "dep"字段表示前一个任务的ID,该任务生成了当前任务所依赖的新资源。

  • “-task_id”字段指的是具有任务ID为task_id的依赖任务中生成的文本图像、音频和视频。

2. 模型选择

LLM将任务分配给专门的模型,这些请求被构建成了一道多项选择题。LLM为用户提供了一个模型列表供选择。由于上下文长度的限制,需要根据任务类型进行过滤。

具体指令如下:

根据用户请求和调用命令,Agent 帮助用户从模型列表中选择一个合适的模型来处理用户请求。Agent 仅输出最合适模型的模型ID。输出必须采用严格的JSON格式:{“id”: “模型ID”, “reason”: “您选择该模型的详细原因”}。

之后,HuggingGPT根据下载次数对模型进行排名,因为下载次数被认为是反映模型质量的可靠指标。选择的模型是根据这个排名中的“Top-K”模型来进行的。K在这里只是一个表示模型数量的常数,例如,如果设置为3,那么它将选择下载次数最多的3个模型。

3. 任务执行

专家模型在特定任务上执行并记录结果。

根据输入和推理结果,Agent 需要描述过程和结果。前面的阶段可以形成下方的输入

用户输入:{{用户输入}},任务规划:{{任务}},模型选择:{{模型分配}},任务执行:{{预测结果}}。

为了提高此过程的效率,HuggingGPT 可以同时运行不同的模型,只要它们不需要相同的资源。例如,如果我提示生成猫和狗的图片,那么单独的模型可以并行运行来执行此任务。

但是,有时模型可能需要相同的资源,这就是为什么HuggingGPT维护一个属性来跟踪资源的原因。它确保资源得到有效利用。

4. 响应生成

LLM 接收执行结果,并向用户提供总结结果。

然而,要将HuggingGPT应用于实际场景中,我们需要应对一些挑战:

  • 提高效率:因为LLM的推理轮次和与其他模型的交互都会减缓处理速度

  • 依赖长上下文窗口:LLM需要使用长篇的上下文信息来传递复杂的任务内容

  • 提高稳定性:需要改进LLM的输出质量以及外部模型服务的稳定性。

现在,让我们假设您希望模型根据图像生成一个音频。HuggingGPT会以最适合的方式连续执行这个任务。您可以在下面的图中查看更详细的响应信息

快速体验

体验HuggingGPT非常简单,只需要输入 openai apikey 和HuggingGPT token 即可:

访问地址:

https://huggingface.co/spaces/microsoft/HuggingGPT

了解了AutoGPT、AgentGPT和HuggingGPT的工作原理后,我相信大家对Agents的能力已有了一定认识。那么 MetaGPT 作为它们之后诞生的项目,是如何成为又一个引起轰动的 Agents 项目呢?我们下面就来拆解 MetaGPT。


🟡 MetaGPT

MetaGPT引入了一个将人工工作流程与多智能体协作无缝集成的框架。通过将标准化操作(SOP) 程序编码为提示,MetaGPT确保解决问题时采用结构化方法,从而减少出错的可能性。

当前 Agent 的解决方案存在一个问题:尽管这些语言模型驱动的 Agent 在简单的对话任务上取得了显著进展,但在面对复杂任务时,LLM 会陷入困境,仿佛看到了并不存在的事物(幻觉)。当将这些 Agent 串联起来时,就会引发混乱的连锁反应。

现在 MetaGPT 引入了标准化操作程序。这些操作程序就像作弊码一样,用于顺利协调工作。它们告诉代理们发生了什么事,以有条不紊的方式指导他们。

借助这些操作程序,代理几乎可以像领域专家一样熟悉他们的工作,并验证输出以避免错误。就像高科技流水线一样,每个代理都扮演着独特的角色,共同理解复杂的团队合作。

为什么 MetaGPT 很重要

MetaGPT 提供了一个全新的视角。这就是它掀起波澜的原因:

  • 稳定的解决方案:借助SOP,与其他 Agents 相比,MetaGPT 已被证明可以生成更一致和正确的解决方案。

  • 多样化的角色分配:为LLM分配不同角色的能力确保了解决问题的全面性。

MetaGPT 软件开发过程

需求分析:收到需求后,该过程开始。这一阶段致力于明确软件所需的功能和要求。

  1. 扮演产品经理:产品经理以需求和可行性分析为基础,开启整个流程。他们负责理解需求,并为项目制定明确的方向。

  2. 扮演架构师:一旦需求明确,架构师将为项目创建技术设计方案。他们负责构建系统接口设计,确保技术实现符合需求。在MetaGPT中,架构 Agent 可以自动生成系统界面设计,如内容推荐引擎的开发。

  3. 扮演项目经理:项目经理使用序列流程图来满足每个需求。他们确保项目按计划前行,每个阶段都得到适时执行。

  4. 扮演工程师:工程师负责实际的代码开发。他们使用设计和流程图,将其转化为功能完备的代码。

  5. 扮演质量保证(QA)工程师:在开发阶段结束后,QA工程师进行全面的测试。他们确保软件符合所需标准,不存在任何错误或问题。

实例

举个例子,当你输入

python startup.py “Design a RecSys like Toutiao”,

MetaGPT会为你提供多个输出,其中之一是有关数据和API设计的指导。

生成一个包含分析和设计示例的成本大约为0.2美元(使用GPT-4 API),而完整项目的成本约为2.0美元。通过这种方式,MetaGPT提供了低廉的解决方案,让你能够快速获取所需的信息和指导。

快速体验

目前MetaGPT暂无在线体验版本。这里我会列出docker的安装方法,最大程度减少大家安装面对的环境难度:

# Step 1: Download metagpt official image and prepare config.yaml docker pull metagpt/metagpt:v0.3.1 mkdir -p /opt/metagpt/{config,workspace} docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml vim /opt/metagpt/config/key.yaml # Change the config

# Step 2: Run metagpt demo with container docker run --rm \ --privileged \ -v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \ -v /opt/metagpt/workspace:/app/metagpt/workspace \ metagpt/metagpt:v0.3.1 \ python startup.py "Write a cli snake game" # You can also start a container and execute commands in it docker run --name metagpt -d \ --privileged \ -v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \ -v /opt/metagpt/workspace:/app/metagpt/workspace \ metagpt/metagpt:v0.3.1 docker exec -it metagpt /bin/bash $ python startup.py "Write a cli snake game"

将"Write a cli snake game"更换成你喜欢的命令试试吧!

更多安装的教程建议看官方指南。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1028233.html

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

相关文章

优化系统报错提示信息,提高人机交互(三)

对于业务比较复杂的接口,可能存在方法嵌套,每个方法都可能会报错,出现异常,那么需要把异常信息返回给接口调用者,如何实现呢? (1)捕获异常进行处理,不返回 controller代码…

【网络八股】TCP八股

网络八股 请简述TCP/IP模型中每层的作用,典型协议和典型设备介绍一下三次握手的过程介绍一下四次挥手的过程必须三次握手吗,两次不行吗?为什么ACK数据包消耗TCP的序号吗三次握手中可以携带应用层数据吗四次挥手时,可以携带应用层数…

时序数据库 TimescaleDB 安装与使用

TimescaleDB 是一个时间序列数据库,建立在 PostgreSQL 之上。然而,不仅如此,它还是时间序列的关系数据库。使用 TimescaleDB 的开发人员将受益于专门构建的时间序列数据库以及经典的关系数据库 (PostgreSQL),所有这些都具有完整的…

收款码的费率都是多少

不管是微信还是支付宝,商户最低的收款手续费率可以达到0.2%费率。一般我们普通商户的收款费率一般在0.6左右,当然也有使用0.3的,也就是1万元的费率是30-60块钱,对于一些流水比较大的商家来说,确实很有必要把这个手续费…

【Java 基础篇】Java字节字符流详解:轻松读写文本与二进制数据

在Java编程中,对文件和数据的读写操作是非常常见的任务。为了满足不同需求,Java提供了多种流类来处理输入和输出。本篇博客将详细介绍Java中的字节流和字符流,以及它们的使用方法,帮助初学者更好地理解和运用这些流来处理文件和数…

三个月备考浙大MEM项目笔试的主要提分机会

随着各个专业陆续公布今年的硕士招生计划,2024年在职备考研究生也到了最后的倒计时阶段,距离MEM联考三个月时间开始备考,有哪些关键的提分机会可以关注?专注联考的杭州达立易考教育认为三个方面需要特别关注。 第一个提分机会来自…

Jenkins学习笔记4

配置构建流程: Jenkins任务创建: 1)创建新任务: 把这个Accept first connection改成 No Validation。问题得到解决。 说明下,要确认下主分支的名称是master还是main。 构建触发器这块暂时没有需要配置的。 传输文件…

notepad++编辑多个位置

在notepad设置多次点击不同的位置,然后同时操作这多个位置的方法: 1、选择编辑,首选项: 2、选择多点编辑:

如何使用Java爬取指定链接的网页内容

在当今信息时代,互联网上的数据量庞大且不断增长。为了获取特定网页的内容,爬虫技术成为了一种非常有用的工具。本文将介绍如何使用Java编程语言来实现爬取指定链接的网页内容。 首先,我们需要准备好Java开发环境。确保你已经安装了Java Deve…

全新运营策略+针对性落地方案,尖庄·荣光成都战略高地市场打造范式“曝光”

执笔 | 姜 姜 编辑 | 萧 萧 9月19日,“百年尖庄 荣光征程”尖庄荣光上市会成都站在成都举行,现场超600位成都各区县优质经销商、终端商共同举杯尖庄荣光,品味香飘百年的匠心味道。 长江酒道注意到,此次发布会是川渝地区首场…

《Web安全基础》08. 漏洞发现

web 1:漏洞发现1.1:操作系统1.2:WEB 应用1.3:APP 应用1.4:API 接口 & 系统端口1.4.1:API 关键字1.4.2:服务&端口1.4.3:相关资源 2:总结 本系列侧重方法论&#x…

Redis 面试常见问答

本文出自:https://thinkinjava.cn 作者:莫那 鲁道 1. 什么是缓存雪崩?怎么解决? 一般而言,我们会利用缓存来缓冲对数据库的冲击,假如缓存无法正常工作,所有的请求便会直接发送至数据库&#xf…

Rust踩雷笔记(7)——两个链表题例子初识裸指针

目录 leetcode 234leetcode 19 leetcode 234 题目在这https://leetcode.cn/problems/palindrome-linked-list/,leetcode 234的回文链表,思路很简单,就是fast和slow两个指针,fast一次移动两个、slow一次一个,最后slow指…

2023年华数杯数学建模A题隔热材料的结构优化控制研究解题全过程文档及程序

2023年华数杯全国大学生数学建模 A题 隔热材料的结构优化控制研究 原题再现: 新型隔热材料 A 具有优良的隔热特性,在航天、军工、石化、建筑、交通等高科技领域中有着广泛的应用。   目前,由单根隔热材料 A 纤维编织成的织物,…

这可是网络工程师零基础学习路线最完整,最详细的版本,没有之一

文章篇幅较长,耐心看完你一定有所收获。 相比IT类的其它岗位,网络工程师的学习方向是比较明亮的。想要成为网络工程师,华为认证就是最好的学习方法。而网络工程师的从零开始学习就是从华为认证的初级开始学起,也就是HCIA&#xff…

【Linux基础】第28讲 Linux Vi编辑器

在Linux下一班使用Vi编辑器来编辑文件vi既可以查看文件也可以编辑文件而vim是vi的升级版本,具备更多的功能。vi如果目标文件不存在,会创建新的文件。但如果新文件没做编辑,退出后还会消失。 VI的三种模式介绍 三种模式(状态&…

rv1126-rv1109-NFS功能

//adb可以直接放,优先使用,nfs是另一种调试方法 adb push E:\111\RkLunch.sh /data//放进data文件夹 / 打开Network File Systems </

常见web漏洞原理整理

文章目录 一、SQL注入1.1SQL注入漏洞原理1.2 SQL注入的两个关键点1.3 与Mysql注入相关的知识点1.4 SQL注入的主要分类1.5 SQL注入的流程1.5.1 普通SQL注入1.5.2 盲注 1.6 SQL注入总结 二、文件上传2.1 文件上传漏洞原理2.2 客户端检测及绕过&#xff08;JS检测与绕过&#xff0…

虹科CiA演讲回顾 | CAN(FD)总线协议转换原理及其在汽车行业的应用

2023年9月14日&#xff0c;CiA中国技术日直播活动在线上举行&#xff0c;该活动致力于开展与CAN总线相关领域的技术工作&#xff0c;演讲者都是CAN领域的专家。虹科首席工程师陈皓受邀参与活动&#xff0c;并带来以“CAN和CAN FD总线协议转换”为主题的演讲。 本次演讲内容主要…

【完美世界】烧烤小队!天元甲胄,石昊铭刻万灵图,斩杀仙殿传人

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析完美世界。 完美世界动画最新集预告更新了&#xff0c;天元秘境的最高殿堂正式开启&#xff0c;里面有无数珍宝&#xff0c;更有无上传承&#xff0c;于是又将是一场腥风血雨的争夺战。尤其是魔王荒与仙殿传人的终极决战&…