LLM之Agent(三):HuggingGPT根据用户需求自动调用Huggingface合适的模型

​       浙大和微软亚洲研究院开源的HuggingGPT,又名JARVIS,它可以根据用户的自然语言描述的需求就可以自动分析需要哪些AI模型,然后去Huggingface上直接调用对应的模型,最终给出用户的解决方案。

一、HuggingGPT的工作流程

       它的工作流程包括四个阶段:

  • 任务规划:ChatGPT将用户的需求解析为任务列表,并确定任务之间的执行顺序和资源依赖关系;

  • 模型选择:ChatGPT根据HuggingFace上托管的各专家模型的描述,为任务分配合适的模型;

  • 任务执行:混合端点(包括本地推理和HuggingFace推理)上被选定的专家模型根据任务顺序和依赖关系执行分配的任务,并将执行信息和结果给到ChatGPT;

  • 响应生成:最后,由ChatGPT总结各模型的执行过程日志和推理结果,给出最终的输出。

下表展示了HuggingGPT的具体细节:

不同任务的任务规划评估,如下表所示:

         任务规划的格式是: [{"task": task, "id", task_id, "dep": dependency_task_ids, "args": {"text": text, "image": URL, "audio": URL, "video": URL}}],参数的详细解释,如下表所示:

二、HuggingGPT的示例

      假设我们有如下请求,来看一下HuggingGPT的完整流程:

       请求:请生成一个女孩正在看书的图片,她的姿势与example.jpg中的男孩相同。然后请用你的声音描述新图片。

       可以看到HuggingGPT是如何将它拆解为6个子任务,并分别选定模型执行得到最终结果的。

HuggingGPT不同任务的实验效果

参考文献:

[1] https://github.com/microsoft/JARVIS

[2] https://huggingface.co/spaces/microsoft/HuggingGPT

[3] https://arxiv.org/abs/2303.17580

[4] https://twitter.com/DrJimFan/status/1642563455298473986

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 23:54:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 23:54:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 23:54:01       82 阅读
  4. Python语言-面向对象

    2023-12-08 23:54:01       91 阅读

热门阅读

  1. 12月07日,每日信息差

    2023-12-08 23:54:01       52 阅读
  2. mongdb配置ssl

    2023-12-08 23:54:01       62 阅读
  3. Android之 知识总结第二篇

    2023-12-08 23:54:01       59 阅读
  4. Leetcode 345. Reverse Vowels of a String

    2023-12-08 23:54:01       51 阅读
  5. 什么是ElasticSearch中的过滤器?

    2023-12-08 23:54:01       64 阅读
  6. golang开发框架

    2023-12-08 23:54:01       55 阅读
  7. SpringBoot学习笔记-实现微服务:匹配系统(下)

    2023-12-08 23:54:01       59 阅读
  8. C语言文本模式和二进制模式

    2023-12-08 23:54:01       59 阅读
  9. Opencv获取笔记本摄像头

    2023-12-08 23:54:01       53 阅读