CoolFace
Datasetpublic

StarTrail-org/pixelrag-tiles

PixelRAG tile corpus Rendered screenshot tiles for PixelRAG, a visual retrieval-augmented-generation system that retrieves over page images instead of parsed text. Each Wikipedia page is rendered to an image and cut into fixed-height tiles; retrieval runs on the tiles directly with a Qwen3-VL embedding model. This repository holds the full tile corpus that the published FAISS indexes and embeddings were built from, so the whole pipeline (tiles → embeddings → index → search) can… See the full description on the dataset page: https://huggingface.co/datasets/StarTrail-org/pixelrag-tiles.

sourceHugging Facecc-by-sa-4.0updated 3mo agoView on Hugging Face
0likes2kdownloads
Dataset Card

PixelRAG tile corpus

Rendered screenshot tiles for PixelRAG, a visual retrieval-augmented-generation system that retrieves over page images instead of parsed text. Each Wikipedia page is rendered to an image and cut into fixed-height tiles; retrieval runs on the tiles directly with a Qwen3-VL embedding model.

This repository holds the full tile corpus that the published FAISS indexes and embeddings were built from, so the whole pipeline (tiles → embeddings → index → search) can be reproduced end to end.

Layout

The corpus is split into 1000 shards, one tar each:

shard_000.tar … shard_999.tar

Each tar mirrors the source tree: shard_NNNNN/<article_id>.png.tiles/ containing chunk_*.webp (and per-page JSON metadata). Extract a shard with:

bash
tar -xf shard_000.tar

Image format

Tiles are stored as lossless WebP. The encode is pixel-exact: decoding a .webp gives the same pixel array as the original PNG, so embeddings computed from these tiles match the published indexes. WebP is used because it is roughly 3x smaller than PNG on this screenshot content with no loss.

Load a tile like any image:

python
from PIL import Image
img = Image.open("shard_00000/12345.png.tiles/chunk_0000_00.webp").convert("RGB")

Article metadata

articles.json is a JSON list of Wikipedia article titles indexed by article id, so the integer in a tile path maps back to its article. For example articles[440010] == "2025_FIA_Formula_3_Championship", matching shard_NNNNN/440010.png.tiles/.

python
import json
articles = json.load(open("articles.json"))
title = articles[440010]   # "2025_FIA_Formula_3_Championship"

Known corrupt tiles

A small number of source tiles (6425, about 0.03% of the corpus) are 0-byte files left by render failures, almost all in shard_091. They are kept as-is with their original .png name so the dataset matches the source exactly. Skip any 0-byte file when loading.

Citation

If you use this corpus, please cite the PixelRAG paper (see the GitHub repository).