PixelRAG 部署教程:基于网页截图的视觉检索增强生成
PixelRAG 部署教程:基于网页截图的视觉检索增强生成
本教程将指导你部署 PixelRAG,一个通过将文档渲染为截图并进行视觉检索的开源系统。它基于论文《PIXELRAG: Web Screenshots Beat Text for Retrieval-Augmented Generation》,能保留文本解析丢失的视觉结构(如表格、图表、布局),实现更准确的检索与生成。
📋 准备工作
1. 环境要求
- Python 版本:3.10 或更高版本。
- 操作系统:Linux (支持 CUDA)、macOS (Apple Silicon 支持 MPS) 或 Windows (通过 WSL2)。
- 包管理器:推荐
uv或pipx来安装 CLI 工具,确保pixelshot命令在PATH中可用。 - 可选依赖:
- 处理 PDF:需要
poppler(macOS:brew install poppler;Ubuntu/Debian:apt-get install poppler-utils)。 - GPU 加速:如需在 Linux 上使用 CUDA,需安装 NVIDIA 驱动和 CUDA 工具包。
- 处理 PDF:需要
2. 安装 PixelRAG
PixelRAG 提供了多种功能组件,可按需安装:
1 | # 基础安装:包含渲染功能 (pixelshot) |
注意:
train(训练) 是一个独立的 uv 项目,位于train/目录下,有自己独立的环境,通常不需要部署。
🚀 快速开始:搜索预构建的维基百科索引
PixelRAG 提供了一个托管在 https://api.pixelrag.ai 的实时 API,索引了 828 万篇维基百科文章,无需 API 密钥即可使用。
1 | curl -X POST https://api.pixelrag.ai/search \ |
你也可以在浏览器中访问 pixelrag.ai 进行交互式体验,或在 Colab 中运行演示笔记本。
🔧 核心功能:构建和使用本地索引
1. 渲染页面为截图 (pixelshot)
pixelshot 命令将网页或 PDF 渲染为图片分块 (tiles)。
1 | # 渲染网页 |
程序化使用:
1 | from pixelrag_render import render_url |
2. 从本地文档构建索引
- 创建配置文件
pixelrag.yaml:
1 | source: |
- 构建索引:
1 | # 安装索引功能 |
- 启动搜索服务:
1 | # 安装服务端 |
- 执行查询:
1 | curl -X POST http://localhost:30001/search \ |
3. 端到端示例:索引并搜索一篇 PDF 论文
这个示例展示了在没有 GPU 的情况下 (使用 macOS MPS 或 CPU),从零开始索引一篇 PDF 并进行查询。
1 | # 1. 安装所有必要的功能 |
⚙️ 高级配置与集成
1. 使用 Qdrant 作为向量后端 (大规模生产)
对于大规模或生产级部署,推荐使用 Qdrant 替代本地的 FAISS 索引。
1 | # 安装 Qdrant 支持 |
在 pixelrag.yaml 中配置 Qdrant 参数,并支持设置量化配置以优化内存和速度。
2. 作为 Claude Code 插件使用 (pixelbrowse skill)
PixelRAG 提供了一个 Claude Code 插件,让 Claude 能够“看到”网页。
1 | # 确保 pixelshot 在 PATH 中 |
安装后,在 Claude 会话中使用 /screenshot https://example.com 命令,或让 Claude 自动调用“截图并总结”等任务。
❓ 常见问题排查
pixelshot命令未找到:确保使用了uv tool install或pipx install进行全局安装。如果使用pip install在虚拟环境中安装,需先激活虚拟环境。- 渲染 PDF 失败:确认已安装
poppler系统库 (macOS:brew install poppler;Ubuntu:apt-get install poppler-utils) 并安装了pixelrag[pdf]扩展。 - Chrome 未自动发现:
pixelshot依赖 Chromium 浏览器。在 Linux 上,它尝试使用自带的 headless_shell。在其他系统上,会尝试从标准路径查找。可通过环境变量CHROME_PATH=/path/to/chrome手动指定浏览器路径。 - 索引构建时内存不足 (OOM):对于大型文档集,可以降低
embed阶段的批处理大小(通过修改配置或命令行参数),或使用 Qdrant 作为后端以支持磁盘存储。对于超大索引(如维基百科),建议直接下载并使用预构建的 FAISS 索引。
通过以上步骤,你可以成功部署 PixelRAG,无论是快速使用其托管服务,还是为自己文档构建专用的视觉检索系统。其核心创新在于将文档“截图”作为检索单元,为需要理解复杂视觉布局的 RAG 应用提供了新的可能性。




