MiRAG — Multi-input Retrieval-Augmented Generation

Project Description

MiRAG is a multi-modal RAG (Retrieval-Augmented Generation) tool built using Streamlit and LangChain. It allows interactive question-answering and summarization from diverse content sources such as web pages, PDFs, YouTube videos, and user-defined text.

Features

  • Web QA: Extracts and processes content from public URLs (JS and non-JS) for contextual Q&A and summarization.
  • PDF QA: Upload PDFs to enable question answering, document summarization, and PDF export of chats.
  • YouTube QA: Uses transcripts of YouTube videos for contextual queries and video summarization.
  • Custom Text QA: Accepts raw text input for temporary vector store creation and contextual querying with chat history export.

Technical Stack

  • Languages: Python 3.10+
  • Libraries: LangChain, FAISS, FPDF, Streamlit, Google Gemini API
  • APIs: YouTube Transcript API
  • Tools: VS Code, Git, Google Colab

How It Works

  1. Input Processing: Scrape or load data from web, PDFs, videos, or raw text.
  2. Embedding Generation: Text data is converted into semantic vectors using Gemini embeddings.
  3. Vector Store: FAISS-based retrieval for efficient chunk search.
  4. RAG Chain: LangChain routes queries to the appropriate retriever and LLM pipeline.

Usage

  • Great for intelligent summarization and Q&A across unstructured formats.
  • Supports context persistence across conversation turns.
  • Exportable chat history for later review.

GitHub Link

Explore the source code and documentation on GitHub:
MiRAG GitHub Repository