讓 ChatGPT 調(diào)用 10 萬(wàn) + 開(kāi)源 AI 模型!HuggingFace 新功能爆火:大模型可隨取隨用多模態(tài) AI 工具

發(fā)布時(shí)間:2023-05-12 17:11:04
編輯:
來(lái)源:量子位
字體:

只需和 ChatGPT 聊聊天,它就能幫你調(diào)用 10 萬(wàn) + 個(gè) HuggingFace 模型!


(相關(guān)資料圖)

這是抱抱臉最新上線的功能HuggingFace Transformers Agents,一經(jīng)推出就獲得極大關(guān)注:

這個(gè)功能,相當(dāng)于給ChatGPT 等大模型配備了 " 多模態(tài) " 能力——

不限于文本,而是圖像、語(yǔ)音、文檔等任何多模態(tài)任務(wù)都能解決。

例如告訴 ChatGPT" 解釋這張圖像 ",并扔給它一張海貍照片。ChatGPT 就能調(diào)用圖像解釋器,輸出 " 海貍正在水里游泳 ":

隨后,ChatGPT 再調(diào)用文字轉(zhuǎn)語(yǔ)音,分分鐘就能把這句話讀出來(lái):

當(dāng)然,它不僅支持 ChatGPT 在內(nèi)的 OpenAI 大模型,也支持 OpenAssistant 等免費(fèi)大模型。

Transformer Agent 負(fù)責(zé) " 教會(huì) " 這些大模型直接調(diào)用 Hugging Face 上的任意 AI 模型,并輸出處理好的結(jié)果。

所以這個(gè)新上線的功能,背后的原理究竟是什么?

如何讓大模型 " 指揮 " 各種 AI?

簡(jiǎn)單來(lái)說(shuō),Transformers Agents 是一個(gè)大模型專屬的 " 抱抱臉 AI 工具集成包 "。

HuggingFace 上各種大大小小的 AI 模型,都被收納在這個(gè)包里,并被分門(mén)別類為 " 圖像生成器 "、" 圖像解釋器 "、" 文本轉(zhuǎn)語(yǔ)音工具 " ……

同時(shí),每個(gè)工具都會(huì)有對(duì)應(yīng)的文字解釋,方便大模型理解自己該調(diào)用什么模型。

這樣一來(lái),只需要一段簡(jiǎn)單的代碼 + 提示詞,就能讓大模型幫助你直接運(yùn)行 AI 模型,并將輸出結(jié)果實(shí)時(shí)返還給你,過(guò)程一共分為三步:

首先,設(shè)置自己想用的大模型,這里可以用 OpenAI 的大模型(當(dāng)然,API 要收費(fèi)):

from transformers import OpenAiAgent

agent = OpenAiAgent ( model="text-davinci-003", api_key="" )

也可以用 BigCode 或 OpenAssistant 等免費(fèi)大模型:

from huggingface_hub import login

login ( "" )

然后,設(shè)置 Hugging Transformers Agents。這里我們以默認(rèn)的 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" )

接下來(lái),就可以使用 run ( ) 或者 chat ( ) 兩個(gè)指令,來(lái)運(yùn)行 Transformers Agents 了。

run ( ) 適合同時(shí)調(diào)用多個(gè) AI 模型,執(zhí)行比較復(fù)雜專業(yè)的任務(wù)。

可以調(diào)用單個(gè) AI 工具。

例如執(zhí)行 agent.run ( "Draw me a picture of rivers and lakes." ) ,它就能調(diào)用 AI 文生圖工具幫你生成一張圖像:

也可以同時(shí)調(diào)用多個(gè) AI 工具。

例如執(zhí)行 agent.run ( "Draw me a picture of the sea then transform the picture to add an island" ) ,它就能調(diào)用 " 文生圖 " 和 " 圖生圖 " 工具,幫你生成對(duì)應(yīng)圖像:

chat ( ) 則適合以聊天的方式 " 持續(xù)完成任務(wù) "。

例如,先調(diào)用文生圖 AI 工具,生成一個(gè)河流湖泊圖片:agent.chat ( "Generate a picture of rivers and lakes" )

再在這張圖片的基礎(chǔ)上做 " 圖生圖 " 修改:agent.chat ( "Transform the picture so that there is a rock in there" ) 要調(diào)用的 AI 模型可以自行設(shè)置,也可以使用抱抱臉自帶的一套默認(rèn)設(shè)置來(lái)完成。

已設(shè)置一套默認(rèn) AI 模型

目前,Transformers Agents 已經(jīng)集成了一套默認(rèn) AI 模型,通過(guò)調(diào)用以下 Transformer 庫(kù)中的 AI 模型來(lái)完成:

1、視覺(jué)文檔理解模型Donut。給定圖片格式的文件(PDF 轉(zhuǎn)圖片也可以),它就能回答關(guān)于這個(gè)文件的問(wèn)題。

例如問(wèn) "TRRF 科學(xué)咨詢委員會(huì)會(huì)議將在哪里舉行 ",Donut 就會(huì)給出答案:

2、文字問(wèn)答模型Flan-T5。給定長(zhǎng)文章和一個(gè)問(wèn)題,它就能回答各種文字問(wèn)題,幫你做閱讀理解。

3、零樣本視覺(jué)語(yǔ)言模型BLIP。它可以直接理解圖像中的內(nèi)容,并對(duì)圖像進(jìn)行文字說(shuō)明。

4、多模態(tài)模型ViLT。它可以理解并回答給定圖像中的問(wèn)題,

5、多模態(tài)圖像分割模型CLIPseg。只需要給它一個(gè)模型和一個(gè)提示詞,它就能根據(jù)這個(gè)提示分割出圖像中指定的內(nèi)容(mask)。

6、自動(dòng)語(yǔ)音識(shí)別模型Whisper。它可以自動(dòng)識(shí)別一段錄音中的文字,并完成轉(zhuǎn)錄。

7、語(yǔ)音合成模型SpeechT5。用于文本轉(zhuǎn)語(yǔ)音。

8、自編碼語(yǔ)言模型BART。除了可以自動(dòng)給一段文字內(nèi)容分類,還能做文本摘要。

9、200 種語(yǔ)言翻譯模型NLLB。除了常見(jiàn)語(yǔ)言外,還能翻譯一些不太常見(jiàn)的語(yǔ)言,包括老撾語(yǔ)和卡姆巴語(yǔ)等。

通過(guò)調(diào)用上面這些 AI 模型,包括圖像問(wèn)答、文檔理解、圖像分割、錄音轉(zhuǎn)文字、翻譯、起標(biāo)題、文本轉(zhuǎn)語(yǔ)音、文本分類在內(nèi)的任務(wù)都可以完成。

這些模型不僅能單獨(dú)調(diào)用,還可以混合在一起使用,例如要求大模型 " 生成并描述一張好看的海貍照片 ",它就會(huì)分別調(diào)用 " 文生圖 " 和 " 圖片理解 "AI 模型。

當(dāng)然,如果我們不想用這些默認(rèn) AI 模型,想設(shè)置一套更好用的 " 工具集成包 ",也可以根據(jù)步驟自行設(shè)置。

對(duì)于 Transformers Agents,也有網(wǎng)友指出,有點(diǎn)像是LangChainagents 的 " 平替 ":

你試過(guò)這兩個(gè)工具了嗎?感覺(jué)哪個(gè)更好用?

參考鏈接:

[ 1 ] https://twitter.com/huggingface/status/1656334778407297027

[ 2 ] https://huggingface.co/docs/transformers/transformers_agents

標(biāo)簽:

   原標(biāo)題:讓 ChatGPT 調(diào)用 10 萬(wàn) + 開(kāi)源 AI 模型!HuggingFace 新功能爆火:大模型可隨取隨用多模態(tài) AI 工具

>更多相關(guān)文章
最近更新