只需和ChatGPT聊聊天,它就能帮你调用10万+个HuggingFace模型!
这是抱抱脸最新上线的功能HuggingFace Transformers Agents,一经推出就获得极大关注:

这个功能,相当于给ChatGPT等大模型配备了“多模态”能力——
不限于文本,而是图像、语音、文档等任何多模态任务都能解决。
例如告诉ChatGPT“解释这张图像”,并扔给它一张海狸照片。ChatGPT就能调用图像解释器,输出“海狸正在水里游泳”:

随后,ChatGPT再调用文字转语音,分分钟就能把这句话读出来:
A beaver is swimming in the water音频:00:0000:01
当然,它不仅支持ChatGPT在内的OpenAI大模型,也支持OpenAssistant等免费大模型。
Transformer Agent负责“教会”这些大模型直接调用Hugging Face上的任意AI模型,并输出处理好的结果。
所以这个新上线的功能,背后的原理究竟是什么?
如何让大模型“指挥”各种AI?
简单来说,Transformers Agents是一个大模型专属的“抱抱脸AI工具集成包”。
HuggingFace上各种大大小小的AI模型,都被收纳在这个包里,并被分门别类为“图像生成器”、“图像解释器”、“文本转语音工具”……
同时,每个工具都会有对应的文字解释,方便大模型理解自己该调用什么模型。

这样一来,只需要一段简单的代码+提示词,就能让大模型帮助你直接运行AI模型,并将输出结果实时返还给你,过程一共分为三步:
首先,设置自己想用的大模型,这里可以用OpenAI的大模型(当然,API要收费):
from transformers import OpenAiAgent
agent = OpenAiAgent(model=”text-davinci-003″, api_key=””)
也可以用BigCode或OpenAssistant等免费大模型:
from huggingface_hub import login
login(“”)
然后,设置Hugging Transformers Agents。这里我们以默认的Agent为例:
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″)
接下来,就可以使用run()或者chat()两个指令,来运行Transformers Agents了。
run()适合同时调用多个AI模型,执行比较复杂专业的任务。
可以调用单个AI工具。
例如执行agent.run(“Draw me a picture of rivers and lakes.”),它就能调用AI文生图工具帮你生成一张图像:

也可以同时调用多个AI工具。