JARVIS
LLM当总调度,指挥HuggingFace万款模型协作完成复杂多模态AI任务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
LLM当总调度,指挥HuggingFace万款模型协作完成复杂多模态AI任务
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否曾经想象过:只要用自然语言描述一个需求,就能同时调动图像生成、语音识别、视频合成等多种AI模型,像一位"全能助手"一样自动协作完成复杂任务?
这正是 JARVIS(即 HuggingGPT)所做的事情——它是微软研究院推出的开源项目,旨在让大语言模型(LLM)作为"大脑",协调HuggingFace Hub上数百个专业AI模型,完成从文本到图像、视频、语音等跨模态的复杂任务。
JARVIS 由微软研究院于2023年3月正式发布,论文发表于arXiv,标题为《HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in HuggingFace》。项目由 Yongliang Shen、Kaitao Song、Xu Tan、Dongsheng Li、Weiming Lu 和 Yueting Zhuang 六位研究者共同完成,其中 Shen 和 Song 为共同第一作者。
这个项目的诞生背景非常清晰:尽管HuggingFace Hub上汇集了数以千计的预训练AI模型,覆盖文本、图像、语音、视频等多个领域,但普通用户很难准确知道该用哪个模型、怎么组合使用,更别提自己编写调用代码了。与此同时,大语言模型已经展现出了强大的意图理解和任务拆解能力。JARVIS 的核心思路就是:让LLM当"总指挥",专业模型当"执行者",语言作为它们之间的接口。
作者在论文中这样写道:"Language serves as an interface for LLMs to connect numerous AI models for solving complicated AI tasks." 这句话精确概括了整个系统的设计哲学。

图1:JARVIS 系统架构总览,语言作为连接LLM与各领域专家模型的统一接口
JARVIS 的工作流程分为四个精密衔接的阶段:
第一阶段:任务规划(Task Planning)。用户以自然语言描述需求,例如"根据这张图片中的人物姿态,生成一段对应的舞蹈视频"。ChatGPT首先分析用户意图,将其拆解为若干可执行的子任务。拆解结果以结构化JSON格式输出,每个子任务包含任务ID、依赖关系(dep字段)和执行参数。
第二阶段:模型选择(Model Selection)。ChatGPT根据每个子任务的类型(图像生成?语音合成?文本分类?),从HuggingFace Hub中挑选最合适的专家模型。JARVIS 支持的模型覆盖文本生成、图像处理、语音识别、视频合成等数十种任务类型。
第三阶段:任务执行(Task Execution)。选定的模型在本地或HuggingFace推理端点上运行,将执行结果返回系统。
第四阶段:响应生成(Response Generation)。ChatGPT整合所有子任务的执行结果,生成最终的统一回复返回给用户。

图2:四阶段工作流示意,展示了从用户请求到最终响应的完整链路
这个流程的精妙之处在于任务的依赖建模:子任务之间的依赖关系(dep字段)确保了执行顺序的正确性。
从代码层面看,JARVIS 采用了典型的 Flask + Waitress 服务端架构,主入口 awesome_chat.py 负责解析用户请求、调用 ChatGPT API 执行任务规划与模型选择、汇总执行结果。models_server.py 是本地推理的核心模块,负责加载和运行各类专业模型。
支持的模型库包括:
配置文件支持三种部署模式:full模式(本地加载所有模型,VRAM 24GB+、磁盘300GB+)、hybrid模式(部分本地+部分API)、lite模式(纯API,零本地依赖)。

图3:JARVIS Prompt工程流程,展示了如何引导LLM正确输出结构化的任务规划结果
对于普通用户,最简单的方式是直接访问 HuggingFace Space 上的在线演示(https://huggingface.co/spaces/microsoft/HuggingGPT),无需任何配置即可体验完整功能。
如果想本地部署,minimum配置(lite模式)只需Ubuntu 16.04+系统和一个OpenAI API Key即可运行,无需下载任何模型。但要注意调用HuggingFace API会产生费用。
对于想体验完整能力的开发者,需要准备一台高配置服务器:VRAM至少24GB(推荐A100或RTX 3090+),磁盘空间超过300GB。

图4:用户提问示例,展示了JARVIS理解复杂多模态请求的能力

图5:JARVIS系统回答示例,展示了四阶段工作流的执行过程
JARVIS项目并未止步于HuggingGPT本身。2023年11月发布的 TaskBench 是评估LLM任务自动化能力的评测框架,包含了12个领域的真实API调用数据集。2024年1月发布的 EasyTool 针对JARVIS在使用工具时遇到的prompt冗长问题,提出了将工具文档压缩为简洁、结构化指令的方法,显著提升了LLM使用工具的效率和准确率。
JARVIS 也面临明显的局限性:API调用成本高(ChatGPT API按token计费)、多模型串行调用导致延迟较高(完整任务可能需要数十秒到数分钟)、本地部署门槛高(需要300GB+存储和24GB+ VRAM)。此外,2023年7月后项目进入维护状态,团队表示正在"规划评估和项目重建",核心仓库没有再发布新版本。
JARVIS 是2023年最具影响力的AI Agent开源项目之一。它提出的"LLM作为控制器协调专家模型"范式,深刻影响了后续一系列多模态Agent系统的设计,包括LangChain Agent、HuggingFace Transformers Agent等。它的核心贡献在于证明了自然语言可以作为连接异构AI模型的通用协议,这一思想至今仍是AI Agent领域的基石。

图6:JARVIS / HuggingGPT 项目Logo
数据来源:GitHub (microsoft/JARVIS, 24,854★)、arXiv论文 (2303.17580)、HuggingFace Space