Skip to content

Multimodal (Vision) RAG: Finally Making Tables and Charts in Documents Searchable

Text RAG misses tables, charts, and layout. A field guide to multimodal RAG architectures (ColPali, vision embeddings), evaluation, and KVKK.

SYK
Şükrü Yusuf KAYA
AI Expert · Enterprise AI Consultant

TL;DR — Most enterprise documents aren't just text; tables, charts, diagrams, signatures, forms, and page layout carry much of the information. Classic text-based RAG silently discards most of that signal. Multimodal (vision) RAG, matured in 2026, closes the gap by indexing the page as an image and querying it with vision-language models. In this piece I explain, from the field, the three dominant architectures (caption-and-index, unified vision embeddings, ColPali-style late interaction), when to choose which, the traps in Turkish documents, and what to watch for under KVKK.

The reality RAG ignores

In nearly every RAG project I've built over the past year, the same scene played out. The team builds a text-based pipeline, chunks PDFs, embeds them, and search seems to work. Then the business owner comes and asks: "So what was the quarterly growth shown in the chart on page 12 of this financial report?" The system falls silent. Because that chart was an image; the text extractor pulled either nothing or a meaningless string of numbers from it.

This is enterprise RAG's biggest silent loss. Real-world documents — financial statements, technical manuals, insurance policies, medical reports, product catalogs — carry a critical portion of their information in non-text elements. A revenue chart, a circuit diagram, an org chart, the position of one table cell relative to another... None of these survive plain text extraction. Text-based RAG is trying to answer without seeing half the document.

Multimodal RAG's promise enters exactly here: treating images, page renderings, and structural visuals as first-class retrieval objects alongside text. The system now asks not "what does this page say" but "what does this page look like and mean."

Where text extraction breaks

Let me make concrete why the text-based approach falls short, because it's hard to appreciate the solution without seeing this.

Tables. When extracting a table from a PDF, the row-column relationship almost always breaks. A table like "2024: 120, 2025: 150" loses which cell belongs to which header once flattened to plain text. The model can't tell whether 120 is revenue or cost, or whether it belongs to 2024 or 2025.

Charts and graphs. The trend shown in a bar chart doesn't exist in the text layer at all; it's just an image. OCR can't read it because there's no text to read, only a visual to interpret.

Page layout and context. The position of a signature block in a contract, which field of a form is filled, the hierarchy of clauses under a heading — all of these are visual context. Plain text flattens this structure and meaning is lost.

Scanned documents. Many enterprise archives still consist of scanned PDFs. Here there is no "text" to begin with; just a photo of paper. The traditional approach OCRs first, accumulates errors, then embeds that faulty text.

"

Field rule: If your documents aren't "clean, text-heavy Word/HTML" but "real-world PDFs," text-based RAG's accuracy ceiling is low, and you can't break that ceiling with prompt engineering. The problem isn't the model; it's the index losing information from the very start.

Three dominant architectures

As of 2026, three approaches stand out in multimodal RAG. Understanding them is the key to striking the right balance for your project.

1. Caption-and-index. The simplest method. For each image/page you generate a textual description (caption) with a vision-language model, then index that description with classic text embeddings. Advantage: it sits atop your existing text-based infrastructure, it's cheap, and it deploys fast. Disadvantage: the caption can't capture all the nuance of the visual; the captioning model writes what it deemed important and skips the rest. Ideal for simple visuals and medium-precision work.

2. Unified vision embeddings. Here you use multimodal embedding models that embed text and image into the same vector space — like Cohere Embed 4, voyage-multimodal-3.5. You can directly compare an image and a text and say "find the page resembling this chart." Advantage: no captioning information loss; the visual is directly searchable. Disadvantage: a single embedding vector sometimes can't compress all the detail of a dense page.

3. Page-as-image + late interaction (ColPali, ColQwen2.5, ColNomic). The most powerful but heaviest approach. It takes the whole page as an image, produces representations at the level of many "patches," and computes late interaction (ColBERT-style) between the query and these patches. This lets the query find, in fine detail, which region of the page it matches. Advantage: the highest accuracy, especially on dense and complex documents. Disadvantage: high storage and compute cost; you must keep many vectors per page.

ArchitectureComplexityAccuracyCostBest scenario
Caption-and-indexLowMediumLowSimple visuals, adding onto existing text RAG
Unified vision embeddingsMediumHighMediumMixed text+visual, medium scale
ColPali-style late interactionHighHighestHighDense financial/technical docs, high precision

When to choose which

The question I get most: "Should I build all of them?" No. The right answer depends on the nature of your documents and your error tolerance.

If your documents are mostly text with a few visuals here and there, start with caption-and-index. It adds to your existing RAG with minimal friction and you quickly capture 70-80% of the value. If chart and table queries are critical but your budget is limited, unified vision embeddings is the best balance point. In areas where every detail matters and a wrong answer is costly — financial analysis, technical documentation, legal documents — the ColPali-style late interaction investment pays off.

My practical field strategy is "gradual maturation": first build a fast baseline with caption-and-index, collect real user queries, measure which question types it fails on, then move to the heavier architecture targeting those weak spots. Building the most expensive solution from the start is usually over-engineering and latency you didn't need.

Evaluation: how you measure it

The most dangerous trap in multimodal RAG is the "looks good at a glance" fallacy. A few example questions work nicely and the system is presumed ready. But real accuracy only shows through systematic evaluation.

In 2026, document-centric multimodal RAG evaluation sets like UNIDOC-BENCH emerged precisely from this need. But what you really need is a "golden set" derived from your own documents. Manually annotate real user questions, their correct answers, and which region of which page/visual that answer came from. Then measure your system against this set: does it retrieve the right page (retrieval), does it produce the right answer (generation), does it ground the answer in the right source (attribution).

Especially separate "retrieved page correct but answer wrong" from "retrieved page wrong," because these are entirely different problems. The first is the model's visual interpretation; the second is an indexing/retrieval problem. Confuse them and you'll optimize the wrong place.

Special traps in Turkish documents

Working with Turkish content, multimodal RAG brings a few extra challenges, and knowing them in advance is very valuable.

First, OCR and font issues. Turkish characters (ı, İ, ğ, ş, ç) are often misrecognized in scanned documents. This creates cumulative error in the caption-and-index approach. The advantage of visual-based approaches (like ColPali) becomes clear here: because they process the page as an image, they don't depend on OCR accuracy.

Second, the Turkish weakness of captioning models. Many vision-language models are excellent on English visuals but can struggle to describe a chart containing Turkish text. So if you use captioning, always check its generated descriptions on a sample.

Third, mixed-language documents. Turkish organizations' documents are often Turkish-English mixed (technical terms in English, explanations in Turkish). Make sure your embedding model represents both languages consistently in the same space; otherwise a Turkish question can't find English content or vice versa.

KVKK and visual content: the hidden risk

An under-discussed but critical side of multimodal RAG: when you index images, you also index the personal data inside those images. A scanned document may contain an ID photocopy, a form may contain a signature, a report may contain a patient's name. While text-based RAG sometimes loses these during extraction, visual RAG embeds them into the vector as-is.

This raises two questions under KVKK. First, purpose limitation: do you have a legal basis to process this personal data? Second, access control: should everyone who asks the RAG system a question have access to the personal data in that image? The architecture I recommend embeds document-level access authorization into the index layer — documents the user isn't authorized for should never enter search results at all. Do this at the retrieval stage from the start, not by "filtering the answer" afterward.

Also, extra care is needed for images containing special-category data (health, biometric). If you've indexed a medical report image, that's the strictest-protected category under KVKK; anonymization, separate storage, and tight access logging are mandatory.

"

The mistake I see in organizations: the data team views visual RAG as a "search improvement" and brings legal into the process late. But indexing images is a new data-processing activity requiring legal assessment from the start. Fixing it later means rebuilding the index.

How "chunking" changes in visual documents

In text RAG, half your life goes to chunking: how large to split the text, what the overlap will be, whether a sentence or paragraph is the boundary. Visual RAG changes this problem at the root, and understanding it directly affects your architecture choice.

In the page-as-image approach, the natural chunking unit is the page. One page, one search object. This eliminates the "splitting mid-sentence" problem of text because the page preserves visual integrity; a table, chart, and its surrounding explanation stay in the same object. But a new problem arises: very dense pages. If a page has three separate tables and two charts, a single page representation may not be sharp enough to search all of them at once. This is where ColPali-style late interaction shows its value: because it represents different regions within the page separately, the query can focus on the right corner of the page.

On the caption-and-index side, chunking depends on the granularity of captioning. Generating one description per image is coarse; generating a separate description for each table and chart is finer but more expensive. My recommendation: for high-value documents, caption at the visual-element level (each chart gets its own description); for low-value documents, stay at the page level. Tuning granularity by document importance balances both cost and accuracy.

Also, on pages where text and visuals coexist, a "dual indexing" strategy works: index the same page both via text extraction (for clean text) and via visual embedding (for tables/charts). When a query arrives, you retrieve candidates from both indexes and combine them. This takes a bit more storage but answers "both textual and visual" questions far more reliably.

Hybrid search and reranking

What makes multimodal RAG robust in production isn't a single magic model but a layered search strategy. In the field I've always gotten the best results with a hybrid approach.

Base the retrieval stage on two legs. First, dense visual/text embedding search: captures semantic similarity, strong on conceptual questions like "growth trend." Second, sparse keyword search (like BM25): strong on exact term matches, code numbers, proper nouns. When searching a document for "2024 Q3 EBITDA," keyword search is gold; for "how did profitability change," dense search. If you don't combine them, you'll always lose on one side depending on query type.

After retrieval, add a reranker. Initial retrieval produces a broad candidate pool (say 50 pages), the reranker re-orders them by true relevance to the question and hands the best few to the model. Using a multimodal reranker on visual documents makes a clear difference over a text-only reranker because it also evaluates the page's visual content. This step raises cost slightly, but the cost of handing the wrong page to the model is far higher — because the model produces a confident, wrong answer from the wrong source.

A real case: an insurance policy archive

For concreteness, let me share an anonymized example. At an insurance organization there were tens of thousands of scanned policies and claim files. These documents were full of handwritten notes, stamps, tables, and signature blocks. The first team had built classic OCR + text RAG, and accuracy was in the fifties — because OCR couldn't read handwriting and stamps and flattened table structure.

We changed the approach. We built a multimodal pipeline processing pages as images; for scanned documents we used visual embeddings not dependent on OCR. We didn't drop OCR entirely for exact-match fields like policy numbers, but used it only to feed the keyword index, leaving answer generation to the visual model. We embedded access control at the document level in the index because claim files contained sensitive personal data and not every user should see every file.

The result: the correct-page retrieval rate rose significantly and, most importantly, answers were now grounded in a source — the user could click "which page did this come from" and see the original image. The lesson from this case: in scanned, visual-heavy archives, multimodal RAG isn't an "enhancement" but often the only viable approach.

Common mistakes

Let me gather the mistakes I see repeatedly in this area so you don't pay the same price.

Routing everything into one architecture. Sending simple text documents to the expensive visual path is a waste of money and latency. Hybrid routing is essential.

Skipping evaluation. "A few examples worked" doesn't mean the system is ready. Without a golden set you can't know what you improved.

Neglecting attribution. The enterprise user doesn't trust a source-less answer. A multimodal RAG without attribution is technically impressive but practically unusable.

Leaving KVKK for last. Asking "was there personal data here?" after indexing images is too late. Legal assessment must happen from the start.

Assuming Turkish behaves like English. A captioning or embedding model that works perfectly in English can weaken unexpectedly on Turkish charts and mixed-language documents. Always test in your own language.

Team, roles, and maturity

A single engineer can't build such a system; it's a cross-disciplinary effort. The data engineer builds the document pipeline and indexing, the ML engineer makes architecture and model choices, a domain expert (finance, legal, insurance) defines the golden set and correct answers, and the legal/compliance team draws the access and KVKK framework. If one of these roles is missing, the system comes out either technically weak or legally risky.

Set a realistic expectation for maturity. The first release won't be perfect; nor does it need to be. What matters is building a measurable baseline and improving it with real usage data. Multimodal RAG isn't a "set and forget" project but a continuously fed system; user queries, rejected answers, and new document types sharpen it over time.

Production architecture: a practical template

Let me share a reference architecture that works in the field. Take it as an adaptable skeleton, not a recipe.

At the entrance, route documents by type: clean text documents to classic text RAG, visual-heavy documents to the multimodal path. This hybrid routing avoids loading excessive cost onto every document. On the multimodal side, generate page images, embed them per your chosen architecture, and write to the vector store. When a query arrives, first filter the correct document set with access authorization, then retrieve candidates from both text and visual indexes, and combine them with a reranker.

At the generation stage, give the vision-language model both the question and the retrieved page images, and ask it to clearly state which page it produced the answer from. This attribution both increases trust and makes wrong answers auditable. Finally, show the source of each answer to the user; the enterprise user doesn't say "trust the model," they say "show the source."

Don't neglect the observability side. Log which queries retrieved which pages, which answers were grounded in a source, and which answers users rejected. These logs both enrich your evaluation golden set and show where the system weakens over time.

Which vision-language model to choose

When choosing the vision-language model that generates answers, weigh three axes together: accuracy, cost, and data privacy. Frontier closed models (large providers' multimodal models) generally give the highest visual-interpretation accuracy; they read a complex financial chart or a dense table best. But sending every page image to an external API is both costly and, under KVKK, a data transfer requiring care.

Open-source multimodal models, meanwhile, matured significantly in 2026 and deliver "good enough" accuracy on your own infrastructure in many enterprise scenarios. If you work with sensitive documents (health, finance, legal), an open model running in your own environment without the data ever leaving is a far more comfortable position for privacy.

My practical recommendation is hybrid: use the open model in your own environment for high-volume, low-sensitivity queries; route rare but critical, high-accuracy-requiring queries to the frontier model. This model routing manages both cost and privacy risk. Always test your choice on your own golden set — a model being good on a general benchmark doesn't mean it'll be good on your document type. On Turkish and mixed-language documents this gap becomes even more pronounced.

Vector store and infrastructure choices

In multimodal RAG, infrastructure decisions deserve more thought than in text RAG because data volume and vector count are much larger. In the page-as-image approach, one document can turn into hundreds or even thousands of vectors; this directly affects your vector store choice.

The first question: late interaction (multi-vector) support. ColPali-style approaches produce many vectors per page and compute late interaction between them. Not every vector store supports this efficiently; make sure your chosen tool can perform multi-vector and late-interaction queries natively, or query latency will explode. If you chose the unified embedding (single vector) approach, almost any vector store doing classic dense search will do, and the infrastructure decision becomes far simpler.

Second, storage cost and quantization. In an archive of millions of pages, keeping vectors at full precision (float32) is expensive for storage. Vector quantization (e.g., binary or scalar quantization) significantly reduces storage and, in most scenarios, barely affects accuracy. But don't do it blindly; measure accuracy before and after quantization on your own golden set.

Third, scaling. If your document count will grow over time, think about re-indexing cost from the start. When you want to move to a new embedding model, you may have to re-embed the entire archive; on millions of pages this can be a days-long operation. So take model selection seriously and choose a mature model you won't have to change often. In short, infrastructure is a direct consequence of your architecture choice; clarify the architecture first, then pick the store that fits it.

Roadmap: from pilot to production in 60 days

Without a concrete plan this piece stays airborne. Let me share a roughly 60-day pilot-to-production roadmap that works in the field.

First two weeks — scope and golden set. Choose your most visual-heavy, highest-value document type (not the whole archive). Collect 50-100 real questions from these documents, and manually annotate correct answers and source pages. This golden set will be the compass for the whole project.

Weeks three and four — fast baseline. Build a baseline with caption-and-index. If you have existing text RAG infrastructure, sit it on top. Take your first accuracy measurement against the golden set. Even if the number is low, it matters; you now have a starting point from which you can measure improvement.

Weeks five and six — strengthening. Analyze the question types where the baseline fails. If you're weak on chart/table queries, move to unified visual embeddings or ColPali. Add hybrid search and a reranker. Embed access control and the KVKK framework into the index.

Weeks seven and eight — production hardening. Complete the attribution interface, set up observability logs, measure latency and cost under production load. Go live with a limited user group, gather feedback, and grow your golden set with these real queries.

Follow this rhythm and after two months you'll have a system that works, is measurable, and is legally sound. The most critical point: target the measurable, not the perfect, from the start. You can improve everything you can measure.

The cost and latency reality

Let's be honest: multimodal RAG is more expensive and slower than text-based RAG. In ColPali-style approaches, keeping tens-to-hundreds of vectors per page significantly increases storage cost. Inference with a vision-language model means more tokens and higher latency than a text model.

So build the cost-accuracy balance deliberately. Instead of routing every document into the heaviest architecture, use hybrid routing to send only visual-heavy, high-value documents there. Use a cache for frequently asked questions. And most importantly: accept the cost where accuracy truly matters, and choose the cheap path where it doesn't. Trying to do everything at the highest quality is often spending budget in the wrong place.

Practically, your roadmap should be: identify your visual-heavy documents, build a small golden set, establish a fast baseline with caption-and-index and measure it, gradually move to heavier architecture at the weak spots, embed access control and KVKK into the index from the start, and ground every answer in a source. Follow this order and you'll finally make the information your documents truly carry — tables, charts, and layout included — searchable at last. And remember: the real gain here isn't just better search; it's that visual knowledge sleeping in the archive for years, which no one could reach, becomes accessible for the first time. In most organizations multimodal RAG's biggest return is surfacing the knowledge we "thought we already had but was actually locked away."

Consulting Pathways

Consulting pages closest to this article

For the most logical next step after this article, you can review the most relevant solution, role, and industry landing pages here.

Comments

Comments

Connected pillar topics

Pillar topics this article maps to