一键控制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

相关文章
|
2月前
|
开发工具
uniapp, 短剧视频类App实现参考,支持滑动播放,仿抖音 仿陌陌 短视频 无限滑动播放 视频流
阿里云点播服务web播放器sdk,短剧视频类App实现参考。仿抖音 仿陌陌 短视频 无限滑动播放 视频流。无uniapp video 原生组件的层级、遮挡、覆盖问题,适合与不同功能视图组合使用,实现丰富的应用功能。
uniapp, 短剧视频类App实现参考,支持滑动播放,仿抖音 仿陌陌 短视频 无限滑动播放 视频流
|
5月前
|
人工智能 算法 安全
“AI黏土人”一夜爆火,图像生成类应用何去何从?
【6月更文挑战第1天】“AI黏土人”一夜爆火,图像生成类应用何去何从?
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
|
4月前
|
人工智能
魔搭多模态AI单词助记&通义APP即时口语练习,你从未体验过的全新版本!
首次接触魔搭多模态AI单词助记工具让我颇感惊喜。传统背单词方式枯燥低效,而该工具通过生成关联图像、短语或故事,让记忆变得生动有趣。访问[Word-wizard](https://modelscope.cn/studios/makabakaing/Word-wizard)体验其图文记忆和视觉学习功能。目前图文记忆功能似乎存在问题,但视觉学习功能仍可正常使用,能识别图片特征并生成释义和例句,辅助学习效果不错。此外,可通过通义APP实现即时口语练习,尽管缺乏上下文记忆功能,但仍是一个优秀的练习工具。
|
3月前
|
机器学习/深度学习 数据采集 人工智能
【AI大模型】Transformers大模型库(十一):Trainer训练类
【AI大模型】Transformers大模型库(十一):Trainer训练类
81 0
|
4月前
|
机器学习/深度学习 人工智能 视频直播
AI直播手机APP震撼发布!3大场景直播,60秒一键开播!
🎉 青否数字人AI直播APP发布!🚀 在抖音等平台60秒一键开播,简化直播流程。💡 3种AI直播模式,融合6大AIGC技术,助力新手轻松直播带货且避免违规。💪 AI主播、声音克隆,实时话术改写,智能互动与讲品同步,提升转化。📊 实景与视频直播结合,适应多种场景。🌐 独立部署,自定义版权,1年免费升级,专业售后支持。🚀 (直播: zhibo175) #青否数字人 #AI直播
AI直播手机APP震撼发布!3大场景直播,60秒一键开播!
|
4月前
|
传感器 人工智能 搜索推荐
苹果首款搭载Apple Intelligence功能的新品类曝光——AI桌面机器人
苹果研发的AI桌面机器人,融合360度机械臂与显示屏,预示智能家居新篇章。具备生物识别、实时交互与HomeKit控制,挑战已有的智能音箱市场。面对竞争,苹果依赖创新与品牌影响力,有望引领潮流,开启更智能、个性化的家庭体验。
75 0
|
5月前
|
人工智能 机器人 API
OpenAI发布新AI模型GPT-4o和桌面版ChatGPT
OpenAI发布新AI模型GPT-4o和桌面版ChatGPT
|
5月前
|
人工智能 搜索推荐 机器人
随着AI控制你的智能手机,App时代的结束可能已经指日可待
随着AI控制你的智能手机,App时代的结束可能已经指日可待
|
5月前
|
存储 前端开发
uni-app 74聊天类封装(九)-更新指定聊天记录
在`uni-app`中封装聊天功能并更新指定的聊天记录,通常涉及几个关键步骤:聊天记录的数据结构、更新聊天记录的逻辑,以及如何在UI中反映这些更新。以下是一个基本的指南,用于在`uni-app`中实现

热门文章

最新文章

下一篇
无影云桌面