Sobre o projeto

O PixelRAG é um sistema de geração aumentada por recuperação (RAG) visual de código aberto desenvolvido no SkyLab, BAIR e Grupo NLP da UC Berkeley. Em vez de analisar páginas web ou PDFs em trechos de texto — o que descarta a estrutura visual como tabelas, gráficos, diagramas e layout — o PixelRAG renderiza documentos como tiles de screenshot e realiza buscas diretamente sobre as imagens. Um modelo leitor pode então responder perguntas sobre conteúdo visual que o RAG baseado em texto perderia. O sistema baseia-se em duas operações principais: renderização (conversão de páginas ou documentos em tiles de imagem via Playwright/CDP ou poppler para PDFs) e busca (incorporação desses tiles com um modelo Qwen3-VL-Embedding LoRA-fine-tuned em dados de screenshot, seguido de consulta a um índice vetorial FAISS ou Qdrant). O pipeline é modular: `pixelshot` cuida da renderização, enquanto `pixelrag chunk`, `embed`, `build-index`, `index` e `serve` cobrem o restante do fluxo. Cada etapa pode ser instalada independentemente via extras pip. Uma API hospedada em api.pixelrag.ai serve um índice pré-construído de 8,28 milhões de páginas da Wikipedia sem necessidade de configuração ou chave de API. Ela aceita consultas de texto e imagem. Uma demonstração no navegador está disponível em pixelrag.ai, e uma notebook Colab oferece um início rápido. Para uso local, o sistema suporta Linux (CUDA) e macOS (Apple Silicon/MPS) com seleção automática de dispositivo. Os usuários podem construir índices a partir de seus próprios documentos usando um arquivo de configuração YAML, servindo-os depois por meio de um endpoint de busca baseado em FastAPI. A opção de backend Qdrant adiciona quantização configurável, vetores com suporte a disco, filtragem de payload e compartilhamento de coleções entre múltiplos servidores. O PixelRAG também vem como um plugin para Claude Code chamado pixelbrowse, que permite ao Claude tirar screenshots de páginas e ler as imagens diretamente — vendo gráficos, tabelas e layout da maneira como um humano veria. Uma integração opencode via o pacote npm @startrail/pixelbrowse fornece a mesma ferramenta de screenshot para usuários opencode. O pipeline de treinamento reside em um projeto uv separado sob train/, que faz LoRA-fine-tuning do Qwen3-VL-Embedding-2B para recuperação de páginas web. Adaptadores pré-treinados e o conjunto completo de dados de treinamento são publicados no Hugging Face, e o pipeline de curadoria de dados (geração de consultas aumentada por LLM, filtragem, mineração de hard-negatives) é documentado para usuários que desejam adaptar outros backbones de incorporação. O projeto é licenciado sob Apache-2.0.