Retrieval

Best tools to build multimodal RAG in 2027

Multimodal RAG retrieves text, images, tables, audio, or video frames as context for a model's answer. It needs parsing, embedding, an index, and a retrieval step that returns the source. Some tools cover one layer. Others cover several. This list is ranked for building that pipeline, not as a single-product bake-off.

Updated · Part of What is multimodal RAG?

What multimodal RAG needs

This guide is published by the vendor of one of the listed tools; criteria and sources are listed so you can check the ranking.

A multimodal RAG system parses files, embeds the pieces, stores an index, retrieves the source, and calls a model. Frameworks, parsers, indexes, and managed knowledge bases cover different layers. Combining them is normal.

How this list is ranked

The ranking is for assembling multimodal RAG in 2027. Layer coverage matters more than a single winner. Last reviewed: October 2026.

  • Which modalities the vendor documents ingesting (text, images, tables, audio, video).
  • Parsing quality claims only where the vendor publishes a method; this page quotes no unsourced scores.
  • Where the index lives, and whether sources stay in sync when a file changes.
  • Agent or tool-calling support the vendor documents.
  • License and whether a hosted option exists.

What changed going into 2027

Checked 25 October 2026.

Amazon Bedrock Knowledge Bases added multimodal retrieval (20 January 2026) and Marengo Embed 3.0 for video and image search (10 September 2026). Sources: https://aws.amazon.com/blogs/machine-learning/introducing-multimodal-retrieval-for-amazon-bedrock-knowledge-bases/ and https://aws.amazon.com/blogs/machine-learning/video-and-image-search-in-amazon-bedrock-knowledge-base-using-marengo-3-0/

LlamaIndex positions LlamaParse as its document platform and still publishes the open-source framework for connectors, indexes, query engines, agents, and workflows. LiteParse is documented as the local open-source parser. Source: https://developers.llamaindex.ai/python/framework/

Docling documents parsing of video files with an ASR transcript and representative keyframes, plus PDFs and office formats into a DoclingDocument. Source: https://docling-project.github.io/docling/

LangChain documents create_agent as the harness, with LangGraph underneath for durable execution. Source: https://docs.langchain.com/oss/python/langchain/overview

The tools, by layer

Read the Layer column. A parser plus a framework plus an index is a common stack. Official sources were checked on 25 October 2026.

LlamaIndex is a Python toolkit for RAG and agents: connectors, indexes, query engines, and workflows. Indexes usually land in a vector store you choose. Docs: https://developers.llamaindex.ai/python/framework/

LangChain provides create_agent; LangGraph is the low-level orchestration framework. Retrieval is a tool you attach. Docs: https://docs.langchain.com/oss/python/langchain/overview

Haystack is an open-source orchestration framework for agents, multimodal applications, and RAG as modular pipelines (retrievers, rankers, generators). Docs: https://haystack.deepset.ai/overview/intro

Docling parses PDFs and many office formats, locally, into a DoclingDocument. Unstructured partitions documents into elements; the open-source library is for prototyping, Unstructured Pipelines for production. They are parsers, not databases.

ColPali-family models (ColVision) embed page images for retrieval; Byaldi wraps those models in a few lines of Python. They are retrievers, not stores. Docs: https://github.com/illuin-tech/colpali and https://github.com/AnswerDotAI/byaldi

RAGFlow is an open-source RAG engine with ingestion, hybrid search, and agent workflows. Bedrock Knowledge Bases is managed RAG. Weaviate can be the retrieval backend.

Last reviewed

Vendor facts were checked on 25 October 2026. Follow Related for current APIs.

Multimodal RAG tools by layer (last reviewed: Oct 2026)

Multimodal RAG tools by layer (last reviewed: Oct 2026)
ToolRankLayerWhat it isBest forLicenseSource
LlamaIndex1Framework (connectors, index, agents)Python toolkit for RAG and agents; LlamaParse is the document platformConnectors and query engines over documents you already parseMIT (framework)https://developers.llamaindex.ai/python/framework/
LangChain / LangGraph2Orchestration (agent loop)create_agent harness on LangGraph for tools, memory, and durable runsAgent loops that call retrieval as a toolMIThttps://docs.langchain.com/oss/python/langchain/overview
Haystack3Orchestration (pipelines)Modular pipelines of retrievers, rankers, tools, and generatorsExplicit RAG graphs you can test component by componentOpen source (haystack-ai)https://haystack.deepset.ai/overview/intro
Pixeltable4Store, transforms, index, servingTyped media, computed columns, EmbeddingIndex, FastAPIRouter in one fileWhen insert should update chunks, embeddings, and HTTP. Fewer connectors than LlamaIndexApache-2.0https://pypi.org/project/pixeltable/
Docling5ParsingLocal converter: PDF layout, tables, OCR, office formats, optional video keyframesTurn files into Markdown or JSON before an index you ownOpen source; LF AI & Data projecthttps://docling-project.github.io/docling/
Unstructured6ParsingPartition PDFs, HTML, and Office files into elements, then chunkDocument ETL; open-source library for prototypes, Pipelines for productionOpen-source library; Pipelines are commercialhttps://docs.unstructured.io/open-source/introduction/overview
ColPali / Byaldi7Page-image retrievalColVision models embed page images; Byaldi is a small Python wrapperRetrieve PDF pages as images instead of extracted textOpen source (see the ColPali and Byaldi repos)https://github.com/illuin-tech/colpali and https://github.com/AnswerDotAI/byaldi
RAGFlow8Engine (ingest, hybrid search, agents)Open-source RAG engine with ingestion, hybrid search, and visual agent workflowsA packaged RAG stack you self-host or run on their cloudOpen source; hosted plans on their sitehttps://ragflow.io/
Amazon Bedrock Knowledge Bases9Managed retrievalManaged ingest, embed, and retrieve across text, images, audio, and videoAWS-native RAG without operating a vector clusterCommercial (AWS)https://aws.amazon.com/blogs/machine-learning/introducing-multimodal-retrieval-for-amazon-bedrock-knowledge-bases/

Where Pixeltable fits

This page is published by Pixeltable, one of the tools listed. Pixeltable ranks fourth: it covers store, transforms, index, and serving in one TableModel file (PyPI 0.7.20, Apache-2.0, Python 3.11+, pxt CLI, FastAPIRouter, Pixeltable Cloud), not the connector catalog LlamaIndex has, and not a managed parser. Pair it with Docling or Unstructured when PDF layout is the bottleneck. Keep LangGraph when the agent loop is the product. Keep Bedrock Knowledge Bases when AWS should own ingest. How-tos: build a multimodal RAG pipeline; build video RAG; chunk PDFs for RAG. See Pixeltable vs LangChain.

import pixeltable as pxt
from pixeltable.functions.document import document_splitter
from pixeltable.functions.huggingface import sentence_transformer
from pixeltable.serving import FastAPIRouter
TableModel = pxt.model_base()
embed = sentence_transformer.using(
model_id='sentence-transformers/all-MiniLM-L6-v2'
)
class Docs(TableModel, name='docs'):
document: pxt.Document
title: pxt.String
class Chunks(
TableModel,
name='chunks',
base=Docs,
iterator=document_splitter(
document=Docs.document, separators='sentence,token_limit', limit=512
),
):
__indexes__ = [pxt.EmbeddingIndex(text, string_embed=embed)]
@pxt.query
def search_docs(query: str, limit: int = 5):
sim = Chunks.text.similarity(string=query)
return (
Chunks.order_by(sim, asc=False)
.limit(limit)
.select(Chunks.text, Chunks.title, sim)
)
api = FastAPIRouter(name='docs')
api.add_insert_route(Docs, path='/docs', inputs=[Docs.document, Docs.title])
api.add_query_route(path='/search', query=search_docs)

Questions

Do I need a framework and a database?
Often. A framework (LlamaIndex, LangChain, Haystack) orchestrates retrieval and generation. A database or index stores the pieces. Pixeltable covers store, index, and HTTP in one file, so a second framework is optional. LangGraph can still call that query as a tool.
Page images or extracted text?
Extracted text (Docling, Unstructured, LlamaParse) is the usual path for searchable prose and tables. Page-image retrieval (ColPali, Byaldi) keeps layout when OCR loses charts or columns. Many teams run both.
How do I keep the index fresh when PDFs change?
Re-parse, re-chunk, and re-embed the changed files. A table that declares chunking and EmbeddingIndex can recompute those rows on insert or update. A separate vector store needs an upsert job you own. Managed knowledge bases sync on their documented schedule.
Is this list biased?
Yes: Pixeltable publishes it and ranks itself fourth, behind LlamaIndex, LangChain/LangGraph, and Haystack for framework jobs. The layer column is there so you can combine tools. Check the source URLs.
Where does Weaviate fit?
As a retrieval backend: collections, hybrid BM25 plus dense search, multimodal vectorizers. It is not a parser and not an agent framework. See Pixeltable vs Weaviate.