只要和ChatGPT聊聊天,它就能幫你呼叫10萬個HuggingFace模型!
這是抱抱臉最新上線的功能HuggingFace Transformers Agents,一推出就獲得極大關注:
##這個功能,相當於給ChatGPT等大模型配備了“多模態”能力——不限於文本,而是圖像、語音、文檔等任何多模態任務都能解決。 舉個例子,你可以向ChatGPT發出「對這幅圖像進行說明」的請求,並給它一張海狸的照片。使用ChatGPT,可以呼叫圖像解釋器並輸出「一隻海狸正在游泳中」 #隨後,ChatGPT再調用文字轉語音,分分鐘就能把這句話讀出來:A beaver is swimming in the water音訊:00:0000:01它不僅能夠支援OpenAI 的大型模型,如ChatGPT,也支援其他免費的大型模型,如OpenAssistant。 Transformer Agent負責「教會」這些大模型直接呼叫Hugging Face上的任意AI模型,並輸出處理好的結果。 所以這個新上線的功能,背後的原理究竟是什麼? 如何讓大模型「指揮」各種AI? 簡單來說,Transformers Agents是一個大模型專屬的「抱抱臉AI工具整合包」。 HuggingFace上各種大大小小的AI模型,都被收納在這個包裡,並被分門別類為“圖像生成器”、“圖像解釋器”、“文本轉語音工具”…同時,每個工具都會有對應的文字解釋,方便大模型理解自己該呼叫什麼模型。 這樣一來,只需要一段簡單的程式碼提示詞,就能讓大模型幫助你直接運行AI模型,並將輸出結果即時回饋給你,流程一共分為三步驟:首先,設定自己想用的大模型,這裡可以用OpenAI的大模型(當然,API要收費):<code>from transformers import OpenAiAgentagent = OpenAiAgent(model="text-davinci-003", api_key="<your_api_key>")</your_api_key></code>也可以用BigCode或OpenAssistant等免費大模型:
<code>from huggingface_hub import loginlogin("<your_token>")</your_token></code>然後,設定Hugging Transformers Agents。這裡我們以預設的Agent為例:
<code>from transformers import HfAgent# Starcoderagent = 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")</code>然後,您可以使用指令run()或chat()來執行Transformers Agents。 run()適合同時呼叫多個AI模型,執行比較複雜專業的任務。 可以呼叫單一AI工具。 例如執行agent.run(“Draw me a picture of rivers and lakes.”),它就能呼叫AI文生圖工具幫你產生一張圖片: 也可以同時呼叫多個AI工具。 例如執行agent.run(“Draw me a picture of the sea then transform the picture to add an island”),它就能調用“文生圖”和“圖生圖”工具,幫你生成對應圖像: chat()則適合以聊天的方式「持續完成任務」。 例如,先呼叫文生圖AI工具,產生一個河流湖泊圖片:agent.chat(“Generate a picture of rivers and lakes”)
再在這張圖片的基礎上做「圖生圖」修改:agent.chat(“Transform the picture so that there is a rock in there”) #要呼叫的AI模型可以自行設置,也可以使用抱抱臉自帶的一套預設設定來完成。
目前,Transformers Agents已經整合了一套預設AI模型,透過呼叫以下Transformer函式庫中的AI模型來完成:
1、視覺文件理解模型Donut。只要提供一個圖片格式的檔案(包括PDF轉換成的圖片),就能利用它來回答有關該文件的問題。
例如問“TRRF科學諮詢委員會會議將在哪裡舉行”,Donut就會給出答案:
2、文字問答模型Flan-T5。給定長文章和一個問題,它就能回答各種文字問題,幫你做閱讀理解。
3、零樣本視覺語言模型BLIP。它可以直接理解圖像中的內容,並對圖像進行文字說明。
4、多模態模型ViLT。它可以理解並回答給定圖像中的問題,
5、多模態圖像分割模型CLIPseg。只要提供一個模型和提示詞,系統就能根據提示詞分割出影像中指定的內容(mask)。
6、自動語音辨識模型Whisper。它可以自動辨識一段錄音中的文字,並完成轉錄。
7、語音合成模型SpeechT5。用於文字轉語音。
8、自編碼語言模型BART。除了可以自動將一段文字內容分類,還能做文字摘要。
9、200種語言翻譯模型NLLB。除了常見語言外,還能翻譯一些較不常見的語言,包括寮語和卡姆巴語等。
透過呼叫上面這些AI模型,包括圖像問答、文件理解、圖像分割、錄音轉文字、翻譯、起標題、文字轉語音、文字分類在內的任務都可以完成。
除此之外,抱抱臉還“夾帶私貨”,包含了一些Transformer庫以外的模型,包括從網頁下載文字、文生圖、圖生圖、文生影片:
這些模型不僅能單獨調用,還可以混合在一起使用,例如要求大模型“生成並描述一張好看的海狸照片”,它就會分別呼叫「文生圖」和「圖片理解」AI模型。
當然,如果我們不想用這些預設AI模型,想設定一套更好用的“工具整合包”,也可以依照步驟自行設定。
對於Transformers Agents,也有網友指出,有點像是LangChain agents的「平替」:
你試過這兩個工具了嗎?感覺哪個比較好用?
參考連結:[1]https://twitter.com/huggingface/status/1656334778407297027[2]https://huggingface.co/docs/transformers/transformers_agents
#以上是讓ChatGPT調用10萬+開源AI模型! HuggingFace新功能爆火:大模型可隨取隨用多模態AI工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!