Learn Prompt-Prompt 高级技巧:HuggingGPT

news2024/12/23 14:51:57

HuggingGPT是一个 Agent 框架,利用 ChatGPT 作为任务规划器,根据每个模型的描述来选择 HuggingFace 平台上可用的模型,最后根据模型的执行结果生成总结性的响应。这个项目目前已在 Github 上开源,并且有一个非常酷的名字叫做 JARVIS(钢铁侠的助手)。这项研究主要涉及到两个主体,一个是众所周知的 ChatGPT,另一个是 AI 社区中的 Hugging Face。

🎉开始阅读前,如果你对其他文章感兴趣,可以到欢迎页关注我们!「卡尔的AI沃茨」开源中文社区实时获得后续的更新和最新的教程🎉

hugging-gpt

这个系统包含四个阶段:

  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的依赖任务中生成的文本图像、音频和视频。

用户和HuggingGPT之间的聊天日志被记录下来,并显示在显示资源历史记录的屏幕上。

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

具体指令如下:

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

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

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

具体指令如下:

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

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

为了提高此过程的效率,HuggingGPT 可以同时运行不同的模型,只要它们不需要相同的资源。例如,如果我提示生成猫和狗的图片,那么单独的模型可以并行运行来执行此任务。但是,有时模型可能需要相同的资源,这就是为什么HuggingGPT维护一个属性来跟踪资源的原因。它确保资源得到有效利用。

  1. 响应生成:LLM 接收执行结果,并向用户提供总结结果。

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

  • 提高效率:因为LLM的推理轮次和与其他模型的交互都会减缓处理速度
  • 依赖长上下文窗口:LLM需要使用长篇的上下文信息来传递复杂的任务内容
  • 提高稳定性:需要改进LLM的输出质量以及外部模型服务的稳定性。

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

hugginggpt_secret

Hugging Face是什么?​

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

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

快速体验​

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

HuggingGPT

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

下一节我们学习 MetaGPT,用SOP的思路让Agent更上一步,欢迎关注「卡尔的AI沃茨」

Reference

  • HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face
  • HuggingGPT: The Secret Weapon to Solve Complex AI Tasks

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

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

相关文章

【5G PHY】物理层逻辑和物理天线的映射

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

MQ - 01 消息队列发展史MQ通用架构

文章目录 导图PreMQ 发展史消息队列的发展脉络MQ选型考虑因素消息 和 流消息队列的架构和功能什么情况下会使用消息队列?架构和功能的基本概念架构层面的基本概念功能层面的基本概念4款主流消息队列的区别和建议对比图导图 Pre MQ - 闲聊MQ一二事儿

字符串的大小(补充)

字符串大小 strlen对char b[ ] { ‘a’,‘b’,‘c’};不知道 ’\0‘在哪里&#xff0c;读取的是一个字符串 #include <iostream> using namespace std; int main() {char a[] { "abcde" };char b[] { a,b,c};cout << sizeof(a)/sizeof(a[0]) <&l…

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数 Python函数绘图与高等代数互融实例(二):闪点函数 Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线 Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域 Python函数绘图与高等代数互融实例(五…

运营商停止提供公网IP地址,如何远程访问网络服务?

前段时间&#xff0c;广州电信宣布自2023年10月1日起&#xff0c;将不再为新装宽带和双栈宽带的用户提供公网IPv4地址。其实&#xff0c;自去年开始&#xff0c;中国三大运营商的各地分公司都纷纷宣布停止提供公网IPv4地址&#xff0c;这一决策的理由也都是IPv4公网地址资源已经…

JavaScript混淆工具大比拼:JScrambler和JShaman哪个更胜一筹?

两款顶级JavaScript混淆工具测评&#xff1a;JScrambler和JShaman 出于JavaScript代码安全需求&#xff0c;JavaScript混淆已经被广泛使用。在这个领域中&#xff0c;有免费的小工具&#xff0c;也有专业、商业级的产品。 商业产品在功能强度、保护效果、稳定性等各方面都是全…

胶质层指数

声明 本文是学习GB-T 397-2022 商品煤质量 炼焦用煤. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了炼焦用商品煤产品质量等级和技术要求、试验方法、检验规则、标识、运输及贮存。 本文件适用于生产、加工、储运、销售、使用…

qt状态机QtState

文章目录 前言例子一 :官方文档的例子1. 抓住重点:初步认识状态机完整代码 2. 抓住重点:状态机中的状态共享 (进一步完善)完整代码 3. 抓住重点:使用历史状态保存和恢复当前状态(进一步完善)完整代码 4. 抓住重点:使用并行状态来避免状态组合爆炸(进一步完善)完整代码&#xff…

【斗破年番】彩鳞遭捆绑,萧炎单手抱彩鳞,有谁注意到小医仙流泪

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析斗破苍穹年番 斗破年番新一集已经更新&#xff0c;很显然这集仅仅只是过渡集。整体而言质量的确不太行&#xff0c;尤其是场景的刻画实在是太过粗糙。完全就是将“廉价”二字体现得淋漓尽致。不过随着剧情的跟进&#xff…

AI AIgents时代 - (三.) AutoGPT和AgentGPT

前两篇讲解了Agent的原理和组件&#xff0c;这节我将给大家介绍两个agent项目&#xff0c;给出它们的工作原理和区别&#xff0c;并教大家亲手尝试使用 Agents&#x1f389; &#x1f7e2; AutoGPT&#x1f916;️ 我们的老朋友&#xff0c;之前文章也专门写过。AutoGPT 是一…

一拖三快充线(USB-C转三充)的解决方案--LDR6020P

DR6020P 是带有 3 组 6 路 DRP USB-C 及 PD 通信协议处理模块和 USB2.0 Device 功能的 16 位 RISC MCU&#xff0c;内置 8K16 位 MTP 程序存储器&#xff08;可烧录 1000 次&#xff09;&#xff0c;512 字节的数据存储器&#xff08;SRAM&#xff09;。内置 LDO 5V 输出&#…

微服务学习(九):安装OpenOffice

微服务学习&#xff08;九&#xff09;&#xff1a;安装OpenOffice 一、下载OpenOffice 下载地址&#xff1a;OpenOffice 二、开始安装 上传资源到服务器 解压资源包 tar -zxvf Apache_OpenOffice_4.1.13_Linux_x86-64_install-rpm_zh-CN.tar.gz进入zh-CN/RPMS目录下安装…

【Linux】生产消费模型 + 线程池

文章目录 &#x1f4d6; 前言1. 生产消费模型2. 阻塞队列2.1 成员变量&#xff1a;2.2 入队(push)和出队(pop)&#xff1a;2.3 封装与测试运行&#xff1a;2.3 - 1 对代码进一步封装2.3 - 2 分配运算任务2.3 - 3 测试与运行 3. 循环阻塞队列3.1 POSIX信号量&#xff1a;3.1 - 1…

人工智能生成内容AIGC:AIGC for Various Data Modalities: A Survey

论文作者&#xff1a;Lin Geng Foo,Hossein Rahmani,Jun Liu 作者单位&#xff1a;Singapore University of Technology and Design (SUTD); Lancaster University 论文链接&#xff1a;http://arxiv.org/abs/2308.14177v1 内容简介&#xff1a; 人工智能生成内容&#xff…

(十)VBA常用基础知识:worksheet的各种操作之sheet复制

当前sheet确认 2.Copy Before&#xff1a;将复制的sheet放到指定sheet前边 Sub Hello()6 Copy Before把sheet6拷贝到sheet3前边Worksheets("Sheet6").Copy Before:Worksheets("Sheet3") End Sub3.Copy After&#xff1a;将复制的sheet放到指定sheet后边 …

Unity Shader 透明度效果

游戏中有以下两种达到透明度效果&#xff1a; 1.透明度测试 只要一个片元的透明度不满足条件&#xff08;通常小于某个阈值&#xff09;&#xff0c;那么就舍弃对应的片元。被舍弃的片元不会进行任何的处理&#xff0c;也不会对颜色缓冲产生任何影响。否则就会按照普通的不透…

P3842 [TJOI2007] 线段

[TJOI2007] 线段 - 洛谷 #include<bits/stdc.h> using namespace std; const int N2e410; int n; int f[N][2],a[N][2]; int dis(int a,int b) {return abs(a-b); } int main() {scanf("%d",&n);for(int i1;i<n;i)scanf("%d %d",&a[i][0]…

MySQL学习笔记12

MySQL 查询语句&#xff1a; 1、查询五子句&#xff1a;&#xff08;重点&#xff09; mysql> select */字段列表 from 数据表名称 where 子句 group by 子句 having 子句 order by 子句 limit 子句; 1&#xff09;where 子句&#xff1b;条件筛选。 2&#xff09;group…

Arch挂载错误

临时解决方案&#xff1a;手动挂载 到 /run/media/sonichy 目录打开终端 sudo mkdir DATA sudo mount /dev/sda5 /run/media/sonichy/DATA