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
- Input Processing: Scrape or load data from web, PDFs, videos, or raw text.
- Embedding Generation: Text data is converted into semantic vectors using Gemini embeddings.
- Vector Store: FAISS-based retrieval for efficient chunk search.
- 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