Nexus AI is a full-stack application that enables users to upload PDF documents, audio, and video files, and seamlessly ask questions against their content. It leverages state-of-the-art Large Language Models (LLMs) and embeddings to provide highly contextual, time-stamped answers.
Multi-column verified research workspace featuring RAG question answering, time-stamped citations, document transcript inspection, and an embedded multimedia player.
Platform hub featuring quick source uploads, verified statistics, and streamlined access to synthesized document collections.
Comprehensive settings panel with customizable user profile, preset avatar selector, strict verification controls, and multi-theme switcher (Light, Dark, and System).
- Multi-Format Support: Upload PDF (
.pdf), Audio (.mp3,.wav), and Video (.mp4,.mkv). - Local AI Pipelines:
- Transcribes audio/video completely locally using OpenAI Whisper.
- Generates fast document embeddings using HuggingFace MiniLM.
- Employs FAISS for rapid local vector and semantic search.
- Intelligent Q&A Chatbot: Powered by LangChain and Groq API (Llama 3).
- Time-Stamped Citations: Chatbot highlights exact timestamps from media that you can click to jump straight to that moment in the video/audio player.
- Real-time AI Summaries: Automatically generates summaries of all uploaded content in the background.
- Theme Customization: Seamless switching between Light, Dark, and System themes with persistent local preferences.
- Full Responsiveness: Mobile-optimized layouts with swipeable tab bars, sticky action controls, and responsive split columns.
- Backend: Python 3.11, FastAPI, SQLAlchemy, LangChain, FAISS.
- Frontend: React 18, Vite, Tailwind CSS, Framer Motion.
- Database: SQLite (RDBMS).
- Python 3.11+
- Node.js 18+
- Docker & Docker Compose (For containerized deployment)
- Open a terminal and navigate to the
backendfolder:cd backend - Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create a
.envfile insidebackend/and add your Groq API key:GROQ_API_KEY=your_groq_api_key_here SECRET_KEY=super_secure_secret_string DATABASE_URL=sqlite:///./sql_app.db
- Start the backend server:
uvicorn app.main:app --reload
- Open a new terminal and navigate to the
frontendfolder:cd frontend - Install dependencies:
npm install
- Start the Vite development server:
npm run dev
- Open
http://localhost:5173in your browser.
You can launch the entire stack via Docker:
docker-compose up --build -d- The frontend will be available at
http://localhost:5173 - The backend API will be available at
http://localhost:8000
The backend features an automated testing suite using pytest and httpx.
To run tests and view coverage:
cd backend
venv\Scripts\activate
pip install pytest-cov httpx
pytest --cov=app --cov-report=termOnce the backend is running, FastAPI automatically generates interactive documentation:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
POST /api/auth/register- Create a new user accountPOST /api/auth/login- Authenticate and receive a JWT tokenPOST /api/documents/upload- Upload a PDF, audio, or video fileGET /api/documents/- List all uploaded documents and summariesDELETE /api/documents/{id}- Delete a documentGET /api/media/{id}- Stream media files for playbackPOST /api/chat/- Ask a question to the AI chatbotGET /api/chat/history- Retrieve chat history


