2,013· 178 forks· Python· Apache-2.0开发工具

PixelRAG:像素级网页截图检索系统

StarTrail-org/PixelRAG

用网页截图代替HTML解析做检索增强生成,保留表格图表等视觉结构,让AI直接"看"页面回答问题

成熟度维护活跃,最近提交1天前,open issues 13个

项目体检

部署 · 无Docker配置,通过pip分阶段安装(基础/嵌入/服务),需从HuggingFace下载预构建索引(217GB起)后本地启动FastAPI服务

成本 · 基础功能开箱即用(公开API无需Key),自建索引需Playwright/FAISS/GPU推荐,训练模块需独立uv环境+CUDA 12.9+cuDNN 9.20

技术 · Python + Playwright(截图) + Qwen3-VL-Embedding(LoRA微调) + FAISS(向量检索) + FastAPI(服务)

许可 · Apache-2.0,允许商用修改,需保留版权声明

活跃 · 1天前最新提交,3位核心贡献者,最新release 2026年6月(Chrome 150驱动),活跃开发中

解决什么

传统RAG系统将网页解析为纯文本后检索,会丢失表格、图表、信息图等视觉结构。当用户问"表格第三行数据是多少"时,文本块无法保留原始布局,导致大模型答非所问。PixelRAG通过将文档渲染为截图瓦片(screenshot tiles),让检索直接在图像层面进行,视觉模型可以像人一样"看"页面回答问题。

为何火

该项目来自Berkeley SkyLab/BAIR/NLP三大实验室联合研究,用LoRA微调的Qwen3-VL-Embedding模型实现了视觉内容可检索的突破。核心亮点是提供了810万维基百科页面的公开API端点(api.pixelrag.ai),无需注册即可调用,甚至支持图片作为查询输入。HackerNews虽讨论量不大,但项目在GitHub获得2000+星标,说明开发者对"用截图代替HTML"这一思路的认可。

核心功能

截图渲染: pixelshot命令基于Playwright CDP协议,将网页、PDF、图片渲染为固定尺寸的瓦片图像,保留原始视觉布局。

视觉检索: 微调后的Qwen3-VL模型将截图嵌入向量空间,FAISS索引支持文本或图片查询,检索出最相关的页面瓦片。

Claude插件: 作为pixelbrowse技能安装后,Claude可直接截图网页并读取图像内容,无需MCP服务器。

托管API: 公开端点提供810万维基百科页面检索,单次请求返回Top-K文档,响应包含截图URL和元数据。

安装

基础截图功能只需pip install pixelrag,提供pixelshot命令。完整流程分阶段安装:

  • 嵌入与索引构建: pip install 'pixelrag[embed]'
  • 启动搜索服务: pip install 'pixelrag[serve]'
  • 训练模块需进入train/目录单独用uv安装,依赖PyTorch 2.9.1+CUDA 12.9

预构建索引从HuggingFace下载(StarTrail-org/pixelrag-fai),基础维基百科索引约217GB。

适合谁

RAG开发者需要处理表格密集型文档(财报、学术论文、技术文档)的场景,视觉检索比文本解析更准确。

AI Agent构建者希望让大模型"看"网页而非读HTML源码,Claude插件提供即插即用方案。

研究人员想复现论文或基于视觉嵌入模型做二次开发,代码包含完整训练流程(LoRA微调Qwen3-VL)。

中文用户注意:公开API无需梯子,但自建索引需GPU资源(推荐),训练环境对CUDA版本要求严格。

社区评价

暂无足量社区公开讨论,以下为基于项目本身的中立评估:技术路线新颖,用截图绕过HTML解析的复杂性,但217GB索引体积对个人开发者不友好。公开API降低试用门槛,Claude插件集成是实用亮点。项目活跃度高(1天前提交),但仅3位核心贡献者,长期维护存在不确定性。适合有GPU资源和大规模文档处理需求的团队。

选型对比

vs 传统RAG(LangChain+文本解析): PixelRAG保留视觉结构,但索引体积是文本方案的10倍以上,检索速度取决于GPU性能。

vs Jina Reader/Firecrawl: 这些工具优化HTML转Markdown,PixelRAG直接跳过解析,适合视觉内容占比高的场景,但通用性较弱(纯文本文档用截图是浪费)。

vs 商业多模态搜索: Google Lens等闭源方案功能更全,PixelRAG优势在可自建索引、Apache-2.0可商用,且论文公开了训练方法。

已知坑

存储成本高: 单个维基百科索引217GB,全量四个索引(不同模型/数据集)需近1TB空间。

训练环境严格: train/模块需独立uv环境,PyTorch 2.9.1+CUDA 12.9+cuDNN 9.20版本必须精确匹配,否则LoRA微调会报错。

截图时效性: 动态网页(JavaScript渲染内容)可能截图不全,Playwright需配置等待时间,README未详细说明最佳实践。

API限流: 公开端点未标注QPS限制,生产环境建议自建服务,但需自行解决索引更新和多副本部署问题。

安装方式:pip