微軟開源創(chuàng)新框架:可將DeepSeek,變成AI Agent
微軟在官網(wǎng)發(fā)布了視覺Agent解析框架OmniParser最新版本V2.0,可將DeepSeek-R1、GPT-4o、Qwen-2.5VL等模型,變成可在計算機使用的AI Agent。
與V1版本相比,V2在檢測較小的可交互UI元素時準確率更高、推理速度更快,延遲降低了60%。在高分辨率Agent基準測試ScreenSpot Pro中,V2+GPT-4o的準確率達到了驚人的39.6%,而GPT-4o原始準確率只有0.8%,整體提升非常大。
除了V2,微軟還開源了omnitool,這是一個基于Docker的 Windows 系統(tǒng),涵蓋屏幕理解、定位、動作規(guī)劃和執(zhí)行等功能,也是將大模型變成Agent的關(guān)鍵工具。
開源地址:https://huggingface.co/microsoft/OmniParser-v2.0
Github:https://github.com/microsoft/OmniParser/
https://github.com/microsoft/OmniParser/tree/master/omnitool
OmniParser V2簡單介紹
目前,將大模型變成Agent的關(guān)鍵難點在于,需要能夠可靠地識別用戶界面中的可交互圖標,同時必須理解截圖中各種元素的語義,并準確將預(yù)期動作與屏幕上的對應(yīng)區(qū)域關(guān)聯(lián)起來。
而V2通過將用戶界面從像素空間“標記化”解析為結(jié)構(gòu)化元素,使得大模型能夠理解和操作這些元素。這有點類似于自然語言處理中的分詞操作,但針對的是視覺信息。通過這種方式,大模型可以在解析后的可交互元素集合上進行基于檢索的下一步動作預(yù)測。
案例演示
例如,當一個大模型需要完成一個復(fù)雜的網(wǎng)頁操作任務(wù)時, V2可以幫助它識別網(wǎng)頁中的按鈕、輸入框等元素,并理解這些元素的功能如登錄按鈕、搜索框等。
大模型就可以更準確地預(yù)測下一步需要執(zhí)行的動作,比如點擊登錄按鈕,或在搜索框中輸入關(guān)鍵詞。
簡單來說,你可以把V2看成是大模型的“眼睛”,可以讓其更好地理解和操作復(fù)雜的用戶界面。
OmniTool是一個集成化工具,支持開箱即用,可以將DeepSeek-R1、GPT-4o、Qwen-2.5VL等模型變成Agent,一共由V2、OmniBox和Gradio三大塊組成。
V2上面已經(jīng)介紹過了,OmniBox則是一個基于 Docker 的輕量級Windows 11虛擬機。與傳統(tǒng)的Windows虛擬機相比,OmniBox占用的磁盤空間減少了50%,同時提供了相同的計算機使用 API。
用戶可以在更小的資源消耗下,快速搭建和運行 GUI 自動化任務(wù)的測試環(huán)境。這對于硬件資源有限的開發(fā)者來說非常方便。
Gradio UI提供了一個交互界面,可以幫助開發(fā)者輕松地與V2和大模型進行交互,快速測試和驗證自動化任務(wù)的效果。
Gradio UI的使用非常簡單,只需要在本地機器上啟動OmniBox和 Gradio服務(wù)器,然后通過瀏覽器訪問Gradio UI提供的界面即可。
OmniParser核心架構(gòu)
OmniParser的核心思想是將用戶界面的視覺信息,轉(zhuǎn)化為易于理解和操作的結(jié)構(gòu)化數(shù)據(jù)。不過這個過程比較復(fù)雜,需要多個模塊協(xié)作才能完成。
首先,OmniParser需要從用戶界面截圖中識別出所有可交互的元素,例如,按鈕、圖標和輸入框等。這些元素是用戶與界面交互的基礎(chǔ),因此準確地檢測它們是至關(guān)重要的第一步。
接下來,OmniParser不僅要識別這些元素的位置,還要理解它們的功能和語義。例如,一個帶有三個點的圖標可能表示“更多選項”,而一個放大鏡圖標則可能代表“搜索”。這種對功能的深入理解,才能使得大模型能夠更準確地預(yù)測用戶可能需要執(zhí)行的操作。
為了實現(xiàn)這些目標,OmniParser采用了多階段的解析流程。在第一階段,可交互區(qū)域檢測模塊利用深度學習技術(shù),從用戶界面截圖中識別出所有可能的交互點。這一模塊的訓練數(shù)據(jù)集,包含了來自流行網(wǎng)頁的67,000張獨特截圖,每張截圖都標注了從DOM樹中提取的可交互區(qū)域的邊界框。
通過使用模型對這些數(shù)據(jù)進行訓練,OmniParser能夠以極高的準確率識別出屏幕上的可交互元素,并為每個元素分配一個唯一的標識符。
但僅僅識別出可交互元素的位置是不夠的。在復(fù)雜的用戶界面中,一個按鈕的形狀和顏色可能與其他按鈕相似,其功能卻截然不同。所以,OmniParser內(nèi)置了功能語義模塊。
該模塊的目標是為每個檢測到的圖標生成一個描述其功能的文本。微軟開發(fā)了一個包含7,185個圖標描述對的數(shù)據(jù)集,并使用BLIP-v2模型對其進行微調(diào),能夠更準確地描述常見應(yīng)用圖標的語義信息。
例如,它不再僅僅描述一個圖標為“帶有三個點的圓形圖標”,而是能夠理解并生成“用于訪問更多選項的圖標”這樣的描述。
OmniParser的第三個重要模塊是結(jié)構(gòu)化表示與動作生成模塊。這一模塊將前兩個模塊的輸出整合在一起,形成一個結(jié)構(gòu)化的、類似DOM的UI表示。不僅包含了疊加了邊界框和唯一ID的截圖,還包含了每個圖標的語義描述。
這可以幫助DeepSeek-R1、GPT-4o、Qwen-2.5VL等模型更輕松地理解屏幕內(nèi)容,并專注于動作預(yù)測。例如,當任務(wù)是“點擊設(shè)置按鈕”時,OmniParser不僅提供了設(shè)置按鈕的邊界框和ID,還提供了其功能描述,顆顯著提高了模型的準確性和魯棒性。