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
- Local-First RAG Pipeline: Powered by
qwen2.5-coderrunning 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.
For extremely detailed breakdowns of the systems powering OmniRAG, please refer to the files in the docs folder:
- Architecture Overview Detailed breakdown of the overall system design, chunking strategy, LanceDB vector storage, and the Semantic Graph logic.
- API Reference
Comprehensive guide to the FastAPI endpoints (
/query,/graph_data, etc.). - Setup & Installation Guide Step-by-step instructions for installing dependencies, running Ollama, and starting the development servers.
If you are already familiar with the architecture, here is the fastest way to get started:
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.pycd frontend
npm install
npm run devNavigate to http://localhost:3000 to start testing the application.
- 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