今天看到一個很有意思的項目叫 PixelRAG,來自 Berkeley SkyLab 團隊。核心想法很簡單但很暴力:**用截圖代替文字解析來做 RAG。**
## 問題在哪
我們平時用 AI 問問題,背後大概率在跑 RAG(Retrieval-Augmented Generation)。流程是:抓網頁 → 解析成文字 → 分塊 → 向量化 → 存起來 → 你問問題時檢索相關文字 → AI 回答。
這套流程在大多數情況下沒問題,但碰到表格、圖表、排版複雜的頁面就完蛋了。因為文字解析會把這些視覺結構全部丟掉。一個精心設計的定價頁面,解析出來可能就是一堆沒有上下文的數字。
## PixelRAG 怎麼做
不做文字解析,直接截圖。網頁 → 截圖 → 圖像分塊 → 用專門訓練的視覺 embedding 模型向量化 → 存成索引。你問問題時,檢索的是圖片,AI 直接從截圖裡讀答案。
視覺結構完整保留:表格還是表格,圖表還是圖表,排版就是原來的排版。
## 具體能幹什麼
**1. 讀論文架構圖**
arxiv 論文裡的模型架構圖、流程圖,普通 RAG 只有圖下面的文字描述(往往是一句「Figure 1 shows the overview of our approach」)。PixelRAG 直接讓 AI 看圖回答。
**2. 查定價頁面**
SaaS 網站的定價頁面通常是精心設計的表格。文字解析出來就是一堆「$9/月」「$29/月」和一堆功能名稱,根本對不上號。截圖的話,表格結構一目了然。
**3. 讀排行榜和統計數據**
各類 Top N 排行榜、數據對比頁面,解析成文字後順序和對應關係很容易亂。截圖就沒有這個問題。
**4. 查頁面設計**
要研究某個網站的 UI 設計?文字解析根本沒用,你需要的就是截圖。
## 實際用起來
最簡單的方式是它的 Claude Code 插件。裝了之後:
“`bash
# 安裝
uv tool install pixelrag
claude plugin add StarTrail-org/PixelRAG
# 用一句命令截圖讓 Claude 讀
claude -p “screenshot https://news.ycombinator.com and summarize the top stories”
“`
不需要搭服務,不需要 API key,本地跑。
想自己建索引的話也行:
“`bash
pip install ‘pixelrag[index]’
# 創建配置
cat > pixelrag.yaml << 'EOF'
source:
type: local
path: ./my_docs
embed:
model: Qwen/Qwen3-VL-Embedding-2B
device: auto
output: ./my_index
EOF
# 構建索引
pixelrag index build
# 啟動搜索服務
pixelrag serve --index-dir ./my_index --port 30001
```
它還有一個現成的 Wikipedia 索引(828 萬頁),免費 API 直接用:
```bash
curl -X POST https://api.pixelrag.ai/search \
-H "Content-Type: application/json" \
-d '{"queries": [{"text": "What is the capital of France?"}], "n_docs": 5}'
```
## 技術上的巧妙之處
它不是簡單地把整個頁面截一張圖就完事了。它會把頁面截成多個 tile(瓷磚),這樣檢索粒度更細。而且 embedding 模型是專門用截圖數據微調過的 Qwen3-VL,不是通用的視覺模型,所以在網頁檢索這個場景下效果好很多。
## 我的看法
這個方向很有前景。現在 AI Agent 越來越多地需要「看」網頁,而不是「讀」HTML。HTML 解析會丟掉太多信息。PixelRAG 證明了一個簡單的事實:**有時候圖片比文字更接近事實。**
不過也有局限:截圖的存儲和向量化比純文本大得多,索引體積會是個問題。828 萬頁的 Wikipedia 索引估計得不少空間。另外,動態內容(需要滾動才能看到的部分)的處理也是個挑戰。
但作為一個思路,「用像素替代文本做檢索」這個方向值得關注。
項目地址:https://github.com/StarTrail-org/PixelRAG
Leave a Reply