一键控制10万多个AI模型,HuggingFace给类ChatGPT模型们做了个「APP Store」

简介: 一键控制10万多个AI模型,HuggingFace给类ChatGPT模型们做了个「APP Store」


通过 Transformers Agents,你可以控制 10 万多个 Hugging Face 模型完成各种多模态任务。

从聊天到编程再到支持各种插件,强大的 ChatGPT 早就不是一个简单的对话助手,而是朝着 AI 界的「管理层」不断前进。


3 月 23 号,OpenAI 宣布 ChatGPT 开始支持各类第三方插件,比如著名的理工科神器 Wolfram Alpha。借助该神器,原本鸡兔同笼都算不准的 ChatGPT 一跃成为理工科尖子生。Twitter 上许多人评论说,ChatGPT 插件的推出看起来有点像 2008 年 iPhone App Store 的推出。这也意味着 AI 聊天机器人正在进入一个新的进化阶段 ——「meta app」阶段。



紧接着,4 月初,浙江大学和微软亚研的研究者提出了一种名为「HuggingGPT」的重要方法,可以看做是上述路线的一次大规模演示。HuggingGPT 让 ChatGPT 充当控制器(可以理解为管理层),由它来管理其他的大量 AI 模型,从而解决一些复杂的 AI 任务。具体来说,HuggingGPT 在收到用户请求时使用 ChatGPT 进行任务规划,根据 HuggingFace 中可用的功能描述选择模型,用选定的 AI 模型执行每个子任务,并根据执行结果汇总响应。


这种做法可以弥补当前大模型的很多不足,比如可处理的模态有限,在某些方面比不上专业模型等。


虽然调度的是 HuggingFace 的模型,但 HuggingGPT 毕竟不是 HuggingFace 官方出品。刚刚,HuggingFace 终于出手了。



和 HuggingGPT 理念类似,他们推出了一个新的 API——HuggingFace Transformers Agents。通过 Transformers Agents,你可以控制 10 万多个 Hugging Face 模型完成各种多模态任务。


比如在下面这个例子中,你想让 Transformers Agents 大声解释图片上描绘了什么内容。它会尝试理解你的指令(Read out loud thecontent of the image),然后将其转化为 prompt,并挑选合适的模型、工具来完成你指定的任务。



英伟达 AI 科学家 Jim Fan 评价说:这一天终于来了,这是迈向「Everything APP」(万事通 APP)的重要一步。



不过也有人说,这和 AutoGPT 的自动迭代还不一样,它更像是省掉了写 prompt 并手动指定工具这些步骤,距离万事通 APP 还为时过早。



Transformers Agents 地址:https://huggingface.co/docs/transformers/transformers_agents


Transformers Agents 怎么用?


在发布的同时,HuggingFace 就放出了 Colab 地址,任何人都可以上手一试:

https://huggingface.co/docs/transformers/en/transformers_agents


简而言之,它在 transformers 之上提供了一个自然语言 API:首先定义一套策划的工具,并设计了一个智能体来解释自然语言和使用这些工具。


而且,Transformers Agents 在设计上是可扩展的。


团队已经确定了一组可以授权给智能体的工具,以下是已集成的工具列表:


  • 文档问答:给定一个图像格式的文档(例如 PDF),回答关于该文档的问题 (Donut)
  • 文本问答:给定一段长文本和一个问题,回答文本中的问题(Flan-T5)
  • 无条件的图像说明:为图像添加说明 (BLIP)
  • 图片问答:给定一张图片,回答关于这张图片的问题(VILT)
  • 图像分割:给定图像和 prompt,输出该 prompt 的分割掩码(CLIPSeg)
  • 语音转文本:给定一个人说话的录音,将语音转录成文本 (Whisper)
  • 文本到语音:将文本转换为语音(SpeechT5)
  • 零样本文本分类:给定文本和标签列表,确定文本与哪个标签最对应 ( BART )
  • 文本摘要:用一个或几个句子来概括一个长文本(BART)
  • 翻译:将文本翻译成给定的语言(NLLB)


这些工具集成在 transformers 中,也可以手动使用:


from transformers import load_tool
tool = load_tool("text-to-speech")
audio = tool("This is a text to speech tool")


用户还可以将工具的代码推送到 Hugging Face Space 或模型存储库,以便直接通过智能体来利用该工具,比如:


  • 文本下载器:从 web URL 下载文本
  • Text to image : 根据 prompt 生成图像,利用 Stable Diffusion
  • 图像转换:在给定初始图像和 prompt 的情况下修改图像,利用 instruct pix2pix stable diffusion
  • Text to video : 根据 prompt 生成小视频,利用 damo-vilab


具体玩法的话,我们先看几个 HuggingFace 的示例:


生成图像描述:


agent.run("Caption the following image", image=image)



朗读文本:


agent.run("Read the following text out loud", text=text)


输入:A beaver is swimming in the water


输出:


tts_example音频:00:0000:01


读取文件:



快速上手



在运行 agent.run, 之前,需要先实例化一个大语言模型智能体。这里支持 OpenAI 的模型以及 BigCode、OpenAssistant 等开源模型。


首先,请安装 agents 附加组件以安装所有默认依赖项:


pip install transformers[agents]


要使用 openAI 模型,需要在安装依赖项后实例化一个「OpenAiAgent」 openai:


pip install openai
from transformers import OpenAiAgent
agent = OpenAiAgent(model="text-davinci-003", api_key="<your_api_key>")


要使用 BigCode 或 OpenAssistant,首先登录以访问推理 API:


from huggingface_hub import login
login("<YOUR_TOKEN>")


然后,实例化智能体:


from transformers import HfAgent
Starcoder
agent = HfAgent("https://api-inference.huggingface.co/models/bigcode/starcoder")
StarcoderBase
agent = HfAgent("https://api-inference.huggingface.co/models/bigcode/starcoderbase")
OpenAssistant
agent = HfAgent(url_endpoint="https://api-inference.huggingface.co/models/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5")


如果用户对此模型(或另一个模型)有自己的推理端点,可以将上面的 URL 替换为自己的 URL 端点。


接下来,我们了解一下 Transformers Agents 提供的两个 API:


单次执行


单次执行是在使用智能体的 run () 方法时:


agent.run("Draw me a picture of rivers and lakes.")



它会自动选择适合要执行的任务的工具并适当地执行,可在同一指令中执行一项或多项任务(不过指令越复杂,智能体失败的可能性就越大)。


agent.run("Draw me a picture of the sea then transform the picture to add an island")



每个 run () 操作都是独立的,因此可以针对不同的任务连续运行多次。如果想在执行过程中保持状态或将非文本对象传递给智能体,用户可以通过指定希望智能体使用的变量来实现。例如,用户可以生成第一张河流和湖泊图像,并通过执行以下操作要求模型更新该图片以添加一个岛屿:


picture = agent.run("Generate a picture of rivers and lakes.")
updated_picture = agent.run("Transform the image in picture to add an island to it.", picture=picture)


当模型无法理解用户的请求并混合使用工具时,这会很有帮助。一个例子是:


agent.run("Draw me the picture of a capybara swimming in the sea")


在这里,模型可以用两种方式解释:


  • 让 text-to-image 水豚在海里游泳
  • 或者,生成 text-to-image 水豚,然后使用 image-transformation 工具让它在海里游泳


如果用户想强制执行第一种情况,可以通过将 prompt 作为参数传递给它来实现:


agent.run("Draw me a picture of the prompt", prompt="a capybara swimming in the sea")


基于聊天的执行


智能体还有一种基于聊天的方法:


agent.chat("Generate a picture of rivers and lakes")



agent.chat ("Transform the picture so that there is a rock in there")



这是一种可以跨指令保持状态时。它更适合实验,但在单个指令上表现更好,而 run () 方法更擅长处理复杂指令。如果用户想传递非文本类型或特定 prompt,该方法也可以接受参数。


参考链接:

https://twitter.com/DrJimFan/status/1656352534213332996

https://twitter.com/cryptonerdcn/status/1656367960175575040

相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
从ChatGPT到文心一言:AI为什么能“懂人话”?——大语言模型的底层逻辑揭秘
从ChatGPT到文心一言:AI为什么能“懂人话”?——大语言模型的底层逻辑揭秘
247 9
|
2月前
|
移动开发 小程序 Android开发
基于 uni-app 开发的废品回收类多端应用功能与界面说明
本文将对一款基于 uni-app 开发的废品回收类多端应用,从多端支持范围、核心功能模块及部分界面展示进行客观说明,相关资源信息也将一并呈现。
138 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:ChatGPT Atlas、Claude Code、Haiku 4.5、Veo 3.1、nanochat、DeepSeek-OCR
AI Compass前沿速览:ChatGPT Atlas、Claude Code、Haiku 4.5、Veo 3.1、nanochat、DeepSeek-OCR
258 37
AI Compass前沿速览:ChatGPT Atlas、Claude Code、Haiku 4.5、Veo 3.1、nanochat、DeepSeek-OCR
|
1月前
|
数据采集 人工智能 程序员
PHP 程序员如何为 AI 浏览器(如 ChatGPT Atlas)优化网站
OpenAI推出ChatGPT Atlas,标志AI浏览器新方向。虽未颠覆现有格局,但为开发者带来新机遇。PHP建站者需关注AI爬虫抓取特性,优化技术结构(如SSR、Schema标记)、提升内容可读性与语义清晰度,并考虑未来agent调用能力。通过robots.txt授权、结构化数据、内容集群与性能优化,提升网站在AI搜索中的可见性与引用机会,提前布局AI驱动的流量新格局。
103 8
|
2月前
|
存储 人工智能 安全
企业级 AI Agent 开发指南:基于函数计算 FC Sandbox 方案实现类 Chat Coding AI Agent
通过 Sandbox 与 Serverless 的深度融合,AI Agent 不再是“黑盒”实验,而是可被企业精准掌控的生产力工具。这种架构不仅适配当前 AI Agent 的动态交互特性,更为未来多模态 Agent、跨系统协作等复杂场景提供了可复用的技术底座。若您的企业正面临 AI Agent 规模化落地的挑战,不妨从 Sandbox 架构入手,结合函数计算 FC 的能力,快速验证并构建安全、高效、可扩展的 AI 应用系统。
|
2月前
|
存储 人工智能 Serverless
企业级 AI Agent 开发指南:基于函数计算 FC Sandbox 方案实现类 Chat Coding AI Agent
本文深入解析AI Agent系统架构,特别是以Sandbox为核心的落地实践。聚焦泛Chat模式下AI应用的挑战与解决方案,涵盖会话亲和性、隔离性、存储机制、会话恢复、资源弹性等关键技术点,阿里云函数计算(FC)为 AI Agent 系统在企业中的落地实践提供实际解决方案,展示了如何高效、安全地构建可扩展的 AI 应用系统。
|
4月前
|
传感器 存储 人工智能
ChatGPT让AI展现‘智能’魅力,函数调用和RAG如何助力迈向AI Agent?
本文由AI产品专家三桥君探讨了AI从被动响应到主动决策的演进路径,重点分析了函数调用和RAG技术在构建AI Agent中的关键作用。文章梳理了大模型能力的迭代(原生能力与涌现能力),技术演进的三个阶段(提示工程→函数调用→RAG),并提出AI Agent需具备环境感知、推理决策和行动执行的核心要素。AI产品专家三桥君认为,未来AGI需突破跨领域学习、实时更新和安全性挑战,最终实现如"贾维斯"般的智能伙伴。
193 1
ChatGPT让AI展现‘智能’魅力,函数调用和RAG如何助力迈向AI Agent?
|
4月前
|
机器学习/深度学习 人工智能 文字识别
浏览器AI模型插件下载,支持chatgpt、claude、grok、gemini、DeepSeek等顶尖AI模型!
极客侧边栏是一款浏览器插件,集成ChatGPT、Claude、Grok、Gemini等全球顶尖AI模型,支持网页提问、文档分析、图片生成、智能截图、内容总结等功能。无需切换页面,办公写作效率倍增。内置书签云同步与智能整理功能,管理更高效。跨平台使用,安全便捷,是AI时代必备工具!
368 8
|
7月前
|
人工智能 物联网 Android开发
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
241 23
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
|
8月前
|
人工智能 编解码 运维
当ChatGPT能写情书、Sora会造电影:我们必须掌握的AI内容识别技能
随着AI技术迅猛发展,AI生成内容在文学、新闻、绘画等领域广泛应用,但其真假难辨、质量参差不齐,可能带来信息误导、知识产权侵犯及安全风险等问题。学会识别AI生成内容至关重要,包括通过逻辑漏洞排查、语言风格分析、生物特征异常检测等手段审核文本、图片和视频。人工审核在面对高隐蔽性内容时仍不可替代,需结合工具与上下文理解共同筑起防护屏障。守护真实信息、规避风险,是每个人在AI时代应尽的责任。
252 7

热门文章

最新文章