使用OmniParser V2和OmniTool為Windows 11構建本地視覺代理

使用OmniParser V2和OmniTool為Windows 11構建本地視覺代理

想象一下,人工智慧不僅會思考,還會觀察和行動,像專業人士一樣與 Windows 11 介面進行互動。微軟的 OmniParser V2 和 OmniTool 將讓這一切成為現實,它們將為重新定義任務自動化和使用者體驗的自主圖形使用者介面代理提供動力。本文將深入探討它們的功能,為您提供實踐指南,幫助您設定本地環境並釋放它們的潛能。從簡化工作流程到應對現實世界的挑戰,讓我們一起來探索這些工具如何改變你的工作和娛樂方式。準備好構建自己的視覺代理了嗎?

學習目標

  • 瞭解 OmniParser V2 和 OmniTool 在人工智慧驅動的 GUI 自動化中的核心功能。
  • 瞭解如何為本地使用設定和配置 OmniParser V2 和 OmniTool。
  • 使用視覺模型探索人工智慧代理與圖形使用者介面之間的互動。
  • 確定 OmniParser V2 和 OmniTool 在自動化和可訪問性方面的實際應用。
  • 在部署自主圖形使用者介面代理時,認識負責任的人工智慧注意事項和風險緩解策略。

什麼是Microsoft OmniParser V2?

OmniParser V2 是一款複雜的人工智慧螢幕解析器,旨在從圖形使用者介面中提取詳細的結構化資料。它通過兩個步驟執行:

  • 檢測模組:利用精心調整的 YOLOv8 模型來識別螢幕截圖中的按鈕、圖示和選單等互動元素。
  • 字幕模組:利用 Florence-2 基礎模型為這些元素生成描述性標籤,闡明它們在介面中的功能。

這種雙重方法使大型語言模型(LLM)能夠全面理解圖形使用者介面,從而促進準確的互動和任務執行。與前代產品相比,OmniParser V2 具有顯著的增強功能,包括延遲減少 60%,準確性提高,特別是對於較小的元素。

什麼是OmniTool?

OmniTool 是一個 docker 化的 Windows 系統,它將 OmniParser V2 與 OpenAI、DeepSeek、Qwen 和 Anthropic 等領先的 LLM 整合在一起。這種整合使人工智慧代理能夠完全自主地進行代理操作,使它們能夠獨立執行任務並簡化重複的圖形使用者介面互動。OmniTool 提供了一個用於測試和部署代理的沙盒環境,確保真實世界應用的安全性和效率。

OmniTool工作流介紹

Source: Author

設定OmniParser V2

要充分發揮 OmniParser V2 的潛力,請按照以下步驟設定本地環境:

前提條件

  • 確保系統中已安裝 Python。
  • 使用 Conda 環境安裝必要的依賴項。

安裝

從 GitHub 克隆 OmniParser V2 程式碼庫。

  •  git clone https://github.com/microsoft/OmniParser
  •  cd OmniParser

啟用 Conda 環境並安裝所需軟體包。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- conda create -n "omni" python==3.12
#conda activate omni
- conda create -n "omni" python==3.12 #conda activate omni
- conda create -n "omni" python==3.12
#conda activate omni
  • 使用 huggingface-cli 下載 V2 權重(icon_caption_florence)。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
rm -rf weights/icon_detect weights/icon_caption weights/icon_caption_florence huggingface-cli download microsoft/OmniParser-v2.0 --local-dir weights
mv weights/icon_caption weights/icon_caption_florence
rm -rf weights/icon_detect weights/icon_caption weights/icon_caption_florence huggingface-cli download microsoft/OmniParser-v2.0 --local-dir weights mv weights/icon_caption weights/icon_caption_florence
rm -rf weights/icon_detect weights/icon_caption weights/icon_caption_florence huggingface-cli download microsoft/OmniParser-v2.0 --local-dir weights
mv weights/icon_caption weights/icon_caption_florence

測試

啟動 OmniParser V2 伺服器並使用示例截圖測試其功能。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- python gradio_demo.py
- python gradio_demo.py
- python gradio_demo.py

您可以閱讀此文,瞭解如何在本地部署 OmniParser V2。

頁面截圖

omniparser識別圖片內容

設定OmniTool

要充分發揮 OmniTool 的潛力,請按照以下步驟設定本地環境:

先決條件

  • 確保有 30GB 的剩餘空間(5GB 用於 ISO、400MB 用於 Docker 容器、20GB 用於儲存資料夾)
  • 在系統上安裝 Docker Desktop.https://docs.docker.com/desktop/
  • Microsoft Evaluation Center 下載 Windows 11 Enterprise Evaluation ISO。將檔案重新命名為 custom.iso,然後複製到OmniParser/omnitool/omnibox/vm/win11iso 目錄。

虛擬機器設定

用以下命令導航到 vm 管理指令碼目錄

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cd OmniParser/omnitool/omnibox/scripts
cd OmniParser/omnitool/omnibox/scripts
cd OmniParser/omnitool/omnibox/scripts

建立 docker 容器 [400MB],並使用 ./manage_vm.sh create 將 ISO 安裝到儲存資料夾 [20GB] 中。整個過程如下面的截圖所示,視下載速度而定,需要 20 至 90 分鐘(通常為 60 分鐘左右)。完成後,終端將顯示 VM + 伺服器已啟動並執行。通過 NoVNC 檢視器(http://localhost:8006/vnc.html view_only=1&autoconnect=1&resize=scale )檢視桌面,可以看到虛擬機器中安裝的應用程式。設定完成後,NoVNC 檢視器中顯示的終端視窗將不會在桌面上開啟。如果能看到,請稍候,不要隨意點選!

虛擬機器設定

首次建立後,它會在 vm/win11storage 中儲存虛擬機器狀態。然後,你可以使用 ./manage_vm.sh start ./manage_vm.sh stop 管理虛擬機器。要刪除虛擬機器,請使用 ./manage_vm.sh delete 並刪除 OmniParser/omnitool/omnibox/vm/win11storage 目錄。

在gradio中執行OmniTool

  • 執行以下命令進入 gradio 目錄:cd OmniParser/omnitool/gradio
  • 使用以下命令啟用 conda 環境:conda activate omni
  • 使用以下命令啟動伺服器: python app.py -windows_host_url localhost:8006 -omniparser_server_url localhost:8000
  • 開啟終端中顯示的 URL,輸入 API 金鑰,然後開始與 AI 代理互動。
  • 確保 OmniParser 伺服器、OmniTool VM 和 Gradio 介面在不同的終端視窗中執行。

行OmniTool

輸出:

執行OmniTool

與代理互動

環境設定完成後,您可以使用 Gradio UI 向代理提供命令。通過該介面,您可以觀察代理在 OmniBox 虛擬機器中的推理和執行情況。使用例項包括

  • 開啟應用程式:通過識別圖示或選單項,使用代理啟動應用程式
  • 導航選單:通過識別特定的使用者介面元素並與之互動,實現選單導航自動化。
  • 執行搜尋:利用代理在應用程式或網路瀏覽器中執行搜尋。

OmniTool支援的視覺模型

OmniTool 開箱即支援各種最先進的視覺模型,包括

  • OpenAI (4o/o1/o3-mini):因其在理解複雜 UI 元素方面的多功能性和效能而聞名。
  • DeepSeek (R1):具有強大的識別圖形使用者介面元件並與之互動的能力。
  • Qwen (2.5VL):為詳細的使用者介面分析和自動化提供高階功能。
  • Anthropic(Sonnet):通過複雜的語言理解和生成功能增強代理能力。

負責任的人工智慧考慮因素和風險

為了與微軟的人工智慧原則和負責任的人工智慧實踐保持一致,OmniParser V2 和 OmniTool 採用了多項風險緩解策略:

  • 訓練資料:圖示標題模型使用負責任的人工智慧資料進行訓練,以避免從圖示影象中推斷出敏感屬性。
  • 威脅模型分析:使用 Microsoft 威脅建模工具進行分析,以識別和解決潛在風險。
  • 使用者指導:建議使用者僅對不包含有害或暴力內容的螢幕截圖應用 OmniParser。
  • 人工監督:鼓勵人工監督,將與自主代理相關的風險降至最低。

真實世界應用

OmniParser V2 和 OmniTool 的功能可實現廣泛的應用:

  • 使用者介面自動化:自動實現與圖形使用者介面的互動,以簡化工作流程。
  • 無障礙解決方案:為輔助技術提供結構化資料,增強使用者體驗。
  • 使用者介面分析:根據提取的結構化資料評估和改進使用者介面設計。

小結

OmniParser V2 和 OmniTool 代表著人工智慧視覺化解析和圖形使用者介面自動化的重大進步。通過整合這些工具,開發人員可以建立與圖形使用者介面無縫互動的複雜人工智慧代理,為自動化和可訪問性帶來新的可能性。隨著人工智慧技術的不斷髮展,OmniParser V2 和 OmniTool 的潛在應用只會越來越多,從而塑造我們與數字介面互動的未來。

  • OmniParser V2通過準確解析和標註介面元素,增強了人工智慧驅動的圖形使用者介面自動化。
  • OmniTool將 OmniParser V2 與領先的 LLM 整合,以實現完全自主的代理操作。
  • 設定 OmniParser V2 和 OmniTool需要配置依賴關係、Docker 和虛擬化 Windows 環境。
  • 實際應用包括使用者介面自動化、無障礙解決方案和使用者介面分析。
  • 負責任的人工智慧實踐通過訓練資料、監督和威脅建模來應對風險,從而確保符合道德規範的部署。

常見問題

Q1. 什麼是 OmniParser V2?

A. OmniParser V2 是一款人工智慧驅動的工具,可使用檢測和字幕模型從圖形使用者介面中提取結構化資料。

Q2. OmniTool 如何增強人工智慧驅動的圖形使用者介面自動化?

A. OmniTool 將 OmniParser V2 與 LLM 整合,使人工智慧代理能夠自主地與圖形使用者介面元素進行互動。

Q3. 設定 OmniParser V2 的先決條件是什麼?

A. 您需要安裝 Python、Conda 和必要的依賴項,以及 OmniParser 的模型權重。

Q4. OmniTool 如何利用虛擬化 Windows 環境?

A. OmniTool 在 Dockerized Windows 虛擬機器中執行,允許人工智慧代理與 GUI 應用程式安全互動。

Q5. OmniParser V2 和 OmniTool 在現實世界中有哪些應用?

A. 它們可用於使用者介面自動化、無障礙解決方案和改進使用者介面設計。

評論留言