Skip to content

PranavViswanathan/OmniRAG

Repository files navigation

OmniRAG

OmniRAG is a powerful, local-first Retrieval-Augmented Generation (RAG) assistant designed for researchers, students, and developers. It features a ChatGPT-style Next.js frontend, a FastAPI backend, vector similarity search using LanceDB, and an explicit visual Semantic Knowledge Graph that allows users to explore the relationships between ingested sources, logical documents, and individual embedded chunks

image image

Core Features

  • Local-First RAG Pipeline: Powered by qwen2.5-coder running via Ollama. Keeps your data completely private.
  • Semantic Knowledge Graph: A visual, interactive map of your database. Discover cross-document relationships driven by cosine similarity calculations on vector embeddings.
  • Smart Web Scraper Fallback: If the local vector database lacks sufficient context, the assistant automatically routes the query to a smart fallback pipeline that scrapes Wikipedia and DuckDuckGo for live answers.
  • Multi-Chat Contexts: Create distinct, isolated chat sessions. History is preserved accurately per session.
  • Futuristic UI: A glassmorphic, highly polished dark mode Next.js React frontend built with TailwindCSS.
  • Live Search & Citation Directory: Every answer is backed by exact source citations that can be viewed and explored in the Knowledge Graph directory.

Deep Dive Documentation

For extremely detailed breakdowns of the systems powering OmniRAG, please refer to the files in the docs folder:

  1. Architecture Overview Detailed breakdown of the overall system design, chunking strategy, LanceDB vector storage, and the Semantic Graph logic.
  2. API Reference Comprehensive guide to the FastAPI endpoints (/query, /graph_data, etc.).
  3. Setup & Installation Guide Step-by-step instructions for installing dependencies, running Ollama, and starting the development servers.

Quick Start

If you are already familiar with the architecture, here is the fastest way to get started:

1. Start the Backend

cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Ensure Ollama is running and has pulled your model
# ollama run qwen2.5-coder

fastapi dev app/main.py

2. Start the Frontend

cd frontend
npm install
npm run dev

Navigate to http://localhost:3000 to start testing the application.


Technical Stack

  • Frontend: Next.js, React, Tailwind CSS, lucide-react, react-force-graph-2d
  • Backend: Python, FastAPI, LanceDB, SentenceTransformers (all-MiniLM-L6-v2)
  • LLM Engine: Ollama (qwen2.5-coder)
  • Web Scraping: BeautifulSoup4, HTTPX, Wikipedia API

About

OmniRAG is a decentralized RAG architecture leveraging local LLM inference via Ollama. It orchestrates asynchronous web-scraping, session-isolated vector persistence, and real-time knowledge synthesis, all visualized through an immersive, React-driven semantic graph providing high-fidelity technical insights.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors