by Rain Chu | 11 月 6, 2024 | Agent , AI
繼之前提到的 Ahthropic Computer Use ,那時候超級驚豔的,馬上就看到MS也有推出自己的版本,雖然沒有自動執行功能,但可以配合 pyautogui 達成,雖然不支援中文,但可以透過中文OCR 或是 tesseract 處理
安裝到本地端
先建立一個虛擬環境起來
conda create -n omni python=3.12 -y
conda activate omni
選項:有GPU的,先把CUDA安裝起來
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
整個安裝也很簡單,就五個步驟
git clone https://github.com/microsoft/OmniParser.git && cd OmniParser
pip install -r requirements.txt
huggingface-cli download --repo-type model microsoft/OmniParser --local-dir weights --include "icon_detect/*" "icon_caption_blip2/*" "icon_caption_florence/*"
python /home/Ubuntu/OmniParser/weights/convert_safetensor_to_pt.py
python gradio_demo.py
OmniParser 1.5 更新
先下載模型
python weights/convert_safetensor_to_pt.py
For v1.5:
download 'model_v1_5.pt' from https://huggingface.co/microsoft/OmniParser/tree/main/icon_detect_v1_5, make a new dir: weights/icon_detect_v1_5, and put it inside the folder. No weight conversion is needed.
執行指令要改成 1.5 版本
python gradio_demo.py --icon_detect_model weights/icon_detect_v1_5/model_v1_5.pt --icon_caption_model florence2
支援其他的語言
舉例來說,要改成中文,請找到專案下的 utils.py ,將 en 改成 ch
reader = easyocr.Reader(['en'])
paddle_ocr = PaddleOCR(
# lang='en', # other lang also available
lang='ch', # other lang also available
use_angle_cls=False,
use_gpu=False, # using cuda will conflict with pytorch in the same process
show_log=False,
max_batch_size=1024,
use_dilation=True, # improves accuracy
det_db_score_mode='slow', # improves accuracy
rec_batch_num=1024)
在介面中選取使用 PaddleOCR
相關資源
OmniParser 原始碼
OmniParser 官網
OmniParser 模型
https://blog.stoeng.site/20241030.html
by Rain Chu | 11 月 6, 2024 | Agent , AI , Chat
最近 OpenAI 推出了 Canvas ,開始流行在 ChatGPT 上頭寫程式、寫郵件等等,馬上就有人推出本地端一樣的服務 Open Canvas ,解放了你只能在 OpenAI 上使用的困境,除了 Git 以外,也馬上有了 docker 版本,可以快速體驗
Open Canvas 架構圖
Open Canvas Workflow
相關資源
Open Canvas 原始檔
Open Canvas Docker
LangGraph Studio
LangSmith
VIDEO
by Rain Chu | 11 月 6, 2024 | Python , 程式
可以在 windows, mac, Linux 上使用,自動地透過滑鼠鍵盤來控制你的電腦畫面,還支援螢幕截圖
簡易使用方法
安裝 pyautogui
使用 pyautogui
螢幕截圖
pyautogui.screenshot('screenshot.png')
滑鼠控制
pyautogui.moveTo(100, 100, duration = 1.5) #用1.5秒移動到x=100,y=100的位置
pyautogui.dragTo(100, 100, duration=2, button='right') #用2秒按住滑鼠右鍵到x=100,y=100的位置
pyautogui.click(clicks=2, interval=0.5, button='right') #雙擊左鍵並且中途間隔0.5秒
鍵盤控制
pyautogui.keyDown('ctrl')
pyautogui.press('a')
pyautogui.keyUp('ctrl') #全選的功能鍵效果
pyautogui.hotkey('ctrl', 'shift', 'esc') #開啟工作管理員的快捷鍵
資源
PyAutoGUI 說明文件
PyAutoGUI 原始碼
中文說明檔
相關資源
by Rain Chu | 11 月 5, 2024 | MIS
使用 docker 時候,常常遇到被占用的 port 要處理,這邊記錄下正確的處理方法
找到占用port的程式
netstat -ano | findstr 8080
會得到下面的輸出,最後面一個是 PID
查詢程式資訊
刪除占用的程式行程
舉例來說,我要刪除佔用了 port 50912 的程式,由上圖知道他的 PID 是 6664,那就輸入以下指令即可
by Rain Chu | 11 月 5, 2024 | AI
終於來到電影中的AI操作電腦的情節了,動動嘴巴就可以控制電腦,AI 透過 LLM 模型,知道你的意圖,在看你的電腦畫面,去決定要點選甚麼樣的位置,或是輸入甚麼樣的資訊,原來可以這麼簡單就實現用嘴巴操作電腦
準備 API Key
請先到這邊,https://www.anthropic.com/api ,取得 API Key,等等 docker 建立的時候會用到
Docker 安裝 Ahthropic computer use
Linux / Mac
export ANTHROPIC_API_KEY=%your_api_key%
docker run \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
-v $HOME/.anthropic:/home/computeruse/.anthropic \
-p 5900:5900 \
-p 8501:8501 \
-p 6080:6080 \
-p 8080:8080 \
-it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
Windows
export ANTHROPIC_API_KEY=%your_api_key%
docker run `
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY `
-v $HOME/.anthropic:/home/computeruse/.anthropic `
-p 5900:5900 `
-p 8501:8501 `
-p 6080:6080 `
-p 8080:8080 `
-it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
近期留言