Vytvořeno: 1.7.2026 | Aktualizováno: 01.07.2026 13:21
PixelRAG je nástroj a výzkumný projekt pro vizuální RAG nad weby, PDF a obrázky. Místo klasického převodu dokumentu na text pracuje s jeho vizuální podobou: stránku vyrenderuje jako obrázek, vytvoří z ní embedding a při dotazu hledá vizuálně relevantní stránky nebo části dokumentu.
Na projekt upozorňuje také příspěvek Akshay Pachaar na X, který posloužil jako další zdroj k tématu.
PixelRAG není klasické OCR. Nejde primárně o nástroj typu „vezmi obrázek a ulož z něj rozpoznaný text“. Je to spíš vyhledávací vrstva nad obrázky dokumentů.
Zjednodušená pipeline:
PDF / web / obrázek → screenshoty nebo tiles → vizuální embeddingy → FAISS index → dotaz → nalezení relevantních screenshotů → vision model přečte vybrané obrázky a odpoví
Důležitý rozdíl proti textovému RAGu:
Textový RAG: PDF → text/OCR → textové chunky → textové embeddingy → odpověď z textu PixelRAG: PDF → obrázky stránek → vizuální embeddingy → nalezení obrázku → odpověď z obrázku
PixelRAG neposílá při každém dotazu všechny uložené obrázky do vision modelu. To by bylo pomalé a drahé. Výběr probíhá přes embeddingový index.
Při indexaci se dokument rozdělí na screenshoty nebo dlaždice. Každá stránka nebo tile se převede pomocí Qwen3-VL-Embedding-2B na vektor. Tyto vektory se uloží do FAISS indexu spolu s metadaty, například zdrojový dokument, číslo stránky nebo index dlaždice.
Typicky se ukládá:
Při dotazu se textový dotaz také převede na embedding ve stejném prostoru jako obrázky. FAISS pak najde nejpodobnější obrázkové embeddingy.
Až poté se vybrané obrázky předají vision modelu, který z nich přečte odpověď, opíše hodnotu z tabulky, vysvětlí graf nebo popíše vizuální část dokumentu.
Vision model se používá až po vyhledání relevantních obrázků. To ale neznamená, že lokální embedding model není potřeba. Pro běžný lokální provoz je embedding model potřeba minimálně ve dvou místech:
Server PixelRAG sice umí přijmout i předpočítaný embedding dotazu, ale pak musí tento embedding vzniknout někde jinde. Raspberry Pi tedy může být jen lehký server a úložiště, ale embeddingy musí buď počítat samo, nebo je musí dostat z jiného stroje či služby.
PixelRAG dává smysl tam, kde informace není jen v textu, ale i ve vizuální podobě dokumentu.
Vhodné případy:
Typické otázky, pro které je PixelRAG vhodný:
Hlavní důvod použití je zachování vizuální struktury. Textový RAG může z dokumentu vytáhnout slova, ale ztratí vztah mezi sloupci tabulky, popisky grafu nebo pozici prvků na stránce.
PixelRAG není univerzální náhrada běžného textového RAGu. Pro mnoho dokumentů je zbytečně těžký.
Nevhodné nebo méně vhodné případy:
Pokud jde o běžné textové PDF, praktičtější pipeline je:
PDF → pdftotext / PyMuPDF / OCR → textové embeddingy → běžný RAG
PixelRAG se vyplatí přidat až ve chvíli, kdy textová extrakce nestačí.
PixelRAG ukládá obrázky stránek nebo dlaždic. To je výrazně větší než čistý textový index. U jednotek až stovek PDF to nemusí být zásadní problém, ale u tisíců dokumentů nebo rozsáhlých webových archivů roste úložiště rychle.
V dokumentaci projektu jsou uvedené velké referenční indexy:
To ukazuje hlavní trade-off: PixelRAG si kupuje vizuální věrnost za cenu většího úložiště a náročnější indexace.
Hlavní výpočetní náročnost není samotný FAISS index, ale vytvoření embeddingů přes multimodální model. PixelRAG používá Qwen3-VL-Embedding-2B, tedy 2B parametrů velký multimodální embedding model.
README projektu uvádí u lokální indexace ukázkového PDF přibližně:
Pro Raspberry Pi projekt neuvádí konkrétní měření. Bez vlastního benchmarku se nedá slíbit použitelný výkon. Reálně je potřeba počítat s tím, že bez CUDA nebo MPS bude embedding výrazně pomalejší.
Raspberry Pi může dávat smysl jako lehká část systému:
Pro plně lokální provoz je problém embeddingový model. Na Raspberry Pi bude limit hlavně RAM a rychlost CPU. Pi může zvládnout malé experimenty, ale pro pravidelné indexování větších PDF sad je vhodnější výkonnější stroj, GPU nebo Apple Silicon.
Možný kompromis:
Qwen3-VL-Embedding-2B uvádí podporu více než 30 jazyků a multimodální vstupy včetně textu, obrázků a screenshotů. Čeština by tedy neměla být principiální překážka.
Je ale potřeba počítat s tím, že PixelRAG je v dokumentaci a paperu demonstrovaný hlavně na anglických korpusech. Pro česká PDF je vhodné udělat vlastní test na reálných dokumentech. Kvalita bude záviset na:
Hosted API PixelRAGu poskytuje veřejný endpoint nad předpřipraveným vizuálním indexem Wikipedie. Podle dokumentace jde o index 8,28 milionu Wikipedia článků. API umí vyhledávat textovým dotazem, obrázkem nebo kombinací textu a obrázku.
Pro vlastní PDF není toto API nutné. Pokud chceš indexovat soukromé dokumenty lokálně, používá se lokální pipeline:
pixelrag index build pixelrag serve --index-dir ./my_index --port 30001
Hosted API je užitečné hlavně pro:
Pro citlivá nebo soukromá PDF není vhodné posílat data do cizí služby bez vyřešeného soukromí a podmínek zpracování.
Pro běžné osobní nebo interní použití je praktičtější hybridní přístup:
Tím se omezí objem uložených obrázků i počet drahých vision dotazů. PixelRAG pak není hlavní index pro všechno, ale specializovaná vizuální vrstva pro případy, kde textový RAG selhává.
PixelRAG se vyplatí použít, když potřebuješ vyhledávat a číst dokument podle toho, jak vizuálně vypadá. Je silný u tabulek, diagramů, grafů, formulářů, screenshotů a složitých webů. Není ale ideální jako obecná náhrada OCR nebo textového RAGu.
Pro Raspberry Pi je realistické uvažovat spíš o roli lehkého serveru, úložiště nebo orchestrátoru. Plně lokální indexace přes multimodální embedding model je hlavní limit a pro větší dokumenty bude pravděpodobně potřeba výkonnější hardware nebo externí výpočet.