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

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

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


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

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

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

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

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

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

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

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

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

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

簡單來說,Transformers Agents 是一個大模型專屬的 " 抱抱臉 AI 工具集成包 "。

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

同時,每個工具都會有對應的文字解釋,方便大模型理解自己該調(diào)用什么模型。

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

首先,設置自己想用的大模型,這里可以用 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 ( ) 適合同時調(diào)用多個 AI 模型,執(zhí)行比較復雜專業(yè)的任務。

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

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

也可以同時調(diào)用多個 AI 工具

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

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

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

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

已設置一套默認 AI 模型

目前,Transformers Agents 已經(jīng)集成了一套默認 AI 模型,通過調(diào)用以下 Transformer 庫中的 AI 模型來完成:

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

例如問 "TRRF 科學咨詢委員會會議將在哪里舉行 ",Donut 就會給出答案:

2、文字問答模型Flan-T5。給定長文章和一個問題,它就能回答各種文字問題,幫你做閱讀理解。

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

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

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

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

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

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

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

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

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

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

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

你試過這兩個工具了嗎?感覺哪個更好用?

參考鏈接:

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

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

標簽:

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

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