Back to directory

Multimodal Retrieval-Augmented Generation (RAG) chat with videos

An example project that builds a question-answering system over a collection of videos, extracting frames and transcripts, embedding them into a shared multimodal space, and answering questions with a vision-language model.

Multimodal Retrieval-Augmented Generation (RAG) chat with videos

This example project implements multimodal Retrieval-Augmented Generation for chatting with a collection of ingested videos. A preprocessing step handles video and transcript pairs, typically in WEBVTT format, by extracting a representative frame from the middle of each transcript segment's time range and pairing it with metadata such as the segment's timestamp, transcript text, and source video path.

It uses the BridgeTower embedding model to embed both text and images into one shared multimodal semantic space, LanceDB as the local vector database holding the ingested videos, and LLaVA, an open-source large vision-language model, to combine visual and textual understanding for retrieval and answering. Queries call the Prediction Guard API by default, though the project notes other model-hosting providers can be substituted.

The Python scripts must be run in order, and questions can be asked either through a Gradio web interface or directly in Python code.

More in RAG

See all 540
  • ai·rete·rag

    ai-rete-rag.com

    A platform that pairs a Rete rule engine with retrieval-augmented generation, so deterministic rules decide an outcome and grounded retrieval explains the decision in plain language.

  • Xtriever

    github.com

    A hybrid retrieval engine for retrieval-augmented generation, written in Rust to run on-device on a phone or a laptop, combining lexical BM25 search, dense embedding search, reciprocal-rank fusion and cross-encoder re-ranking with no server.

  • FileFlux

    github.com

    A .NET library that turns PDF, DOCX, HWP and other documents into optimized chunks for RAG systems, through a five-stage pipeline built on high-performance Rust FFI readers.