Skip to content

Commit ab1c564

Browse files
author
Namasivaayam-L
committed
Docs: Enhance README.md with improved formatting and clarity
1 parent ca90fe1 commit ab1c564

File tree

1 file changed

+121
-47
lines changed

1 file changed

+121
-47
lines changed

README.md

Lines changed: 121 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,121 @@
1-
# Quantum Tutor
2-
3-
## Overview
4-
5-
Quantum Tutor is an AI-powered teaching assistant that uses the Socratic method to guide students through learning Data Structures and Algorithms, with a specific focus on sorting algorithms. The system is capable of performing retrieval-augmented generation (RAG) on user-provided documents, making the learning experience tailored to individual needs. This project integrates Next.js, FastAPI, LlamaIndex, Gemini LLM, Groq open-source LLMs, MongoDB, and Docker, leveraging the strengths of these technologies to provide an efficient, scalable, and interactive platform for AI-driven Socratic learning.
6-
7-
## Tech Stack
8-
9-
- **Next.js**: For server-side rendering and building the frontend.
10-
- **FastAPI**: Lightweight Python-based backend for handling API requests.
11-
- **LlamaIndex**: For indexing and retrieving relevant document content.
12-
- **LlamaDeploy**: For deploying Llama-based models.
13-
- **Gemini LLM**: Large language model used for generating human-like responses.
14-
- **Groq LLM**: Open-source LLM for efficient language model processing.
15-
- **MongoDB**: A NoSQL database for storing user sessions and application data.
16-
- **Docker**: Containerization for the FastAPI server and Llama components.
17-
18-
## Prerequisites
19-
20-
- Node.js >= 14.x
21-
- MongoDB >= 4.4
22-
- Python >= 3.8
23-
- Git
24-
- Docker
25-
26-
## Installation
27-
28-
1. **Clone the repository**
29-
```bash
30-
git clone https://github.com/Quantum-Tutors/quantum-tutor.git
31-
2. **Navigate to project**
32-
```bash
33-
cd quantum-tutor-web
34-
cd llm-backend
35-
### LLM SERVER & LLAMA DEPLOY
36-
3. **Install Docker**
37-
4. **Docker Compose**
38-
```bash
39-
docker compose -f ./docker-compose.yml --project-directory ./ up --build -d --remove-orphans
40-
41-
5. **Install dependencies For frontend (Next.js):**
42-
```bash
43-
cd quantum-tutor-web
44-
npm install
45-
6. **Run the application Frontend:**
46-
```bash
47-
npm run dev
1+
# ⚛️ Quantum Tutor: AI Socratic Teaching Assistant
2+
3+
**Quantum Tutor** is an AI-powered teaching assistant utilizing the **Socratic method** to guide students through **Data Structures and Algorithms**, with a focus on sorting algorithms. It features **Retrieval-Augmented Generation (RAG)** on user-provided documents for a personalized learning experience.
4+
5+
---
6+
7+
## ✨ Features
8+
9+
- 🧑‍🏫 **Socratic Learning**: Guides students through DSA concepts using interactive questioning.
10+
- 🧠 **RAG Personalization**: Tailors content by performing RAG on user-provided documents.
11+
- 📚 **DSA Focus**: Specialized in Data Structures and Algorithms, particularly sorting algorithms.
12+
- 🗣️ **Multiple LLMs**: Integrates Gemini LLM and Groq open-source LLMs for diverse AI interactions.
13+
- 🌐 **Full-Stack Architecture**: Built with Next.js (frontend) and FastAPI (backend).
14+
15+
---
16+
17+
## 🧰 Tech Stack
18+
19+
| Component | Tech |
20+
|-------------------|-----------------------------------|
21+
| Frontend | Next.js |
22+
| Backend | FastAPI, Python |
23+
| RAG Framework | LlamaIndex |
24+
| LLMs | Gemini LLM, Groq LLMs |
25+
| Database | MongoDB |
26+
| Containerization | Docker |
27+
| Deployment | LlamaDeploy (for LLM backend) |
28+
| Language | JavaScript/TypeScript, Python |
29+
30+
---
31+
32+
## 🚀 Setup Instructions
33+
34+
This project consists of two main parts: the `llm-backend` (FastAPI) and `quantum-tutor-web` (Next.js frontend).
35+
36+
### Prerequisites
37+
38+
- **Node.js** (>= 14.x)
39+
- **MongoDB** (>= 4.4)
40+
- **Python** (>= 3.8)
41+
- **Git**
42+
- **Docker**
43+
44+
### 1. Clone the Repository
45+
46+
```bash
47+
git clone https://github.com/Quantum-Tutors/quantum-tutor.git # Replace with actual repo URL if different
48+
cd quantum-tutor
49+
```
50+
51+
### 2. Set up LLM Backend (FastAPI with Docker)
52+
53+
Navigate to the `llm-backend` directory and use Docker Compose:
54+
55+
```bash
56+
cd llm-backend
57+
docker compose -f ./docker-compose.yml --project-directory ./ up --build -d --remove-orphans
58+
# This will start your FastAPI server and Llama components in Docker containers.
59+
cd ..
60+
```
61+
62+
### 3. Set up Frontend (Next.js)
63+
64+
Navigate to the `quantum-tutor-web` directory and install dependencies:
65+
66+
```bash
67+
cd quantum-tutor-web
68+
npm install
69+
cd ..
70+
```
71+
72+
### ⚙️ Configuration
73+
74+
- Ensure **MongoDB** is running and accessible.
75+
- Set up any necessary environment variables (e.g., API keys for Gemini/Groq, MongoDB connection strings) in both `llm-backend` and `quantum-tutor-web` (typically via `.env` files).
76+
77+
---
78+
79+
## 🧑‍💻 Run the Application
80+
81+
### 1. Start LLM Backend
82+
83+
The backend should already be running via Docker Compose (from setup step 2).
84+
85+
### 2. Start Frontend
86+
87+
Navigate to the `quantum-tutor-web` directory and start the Next.js development server:
88+
89+
```bash
90+
cd quantum-tutor-web
91+
npm run dev
92+
```
93+
94+
The frontend application will typically be accessible at `http://localhost:3000`.
95+
96+
---
97+
98+
## 📂 Project Structure
99+
100+
```
101+
.
102+
├── llm-backend/ # FastAPI backend for LLM integration and RAG
103+
│ ├── Dockerfile # Dockerfile for backend
104+
│ ├── docker-compose.yml # Docker Compose for services (FastAPI, Llama)
105+
│ ├── main.py # FastAPI application entry point
106+
│ ├── requirements.txt # Python dependencies
107+
│ └── ...
108+
├── quantum-tutor-web/ # Next.js frontend application
109+
│ ├── public/ # Static assets
110+
│ ├── src/ # React components, pages, API integrations
111+
│ ├── package.json # Frontend dependencies and scripts
112+
│ └── ...
113+
├── README.md # Project overview and documentation
114+
├── .gitignore # Git ignore rules
115+
├── start_llm_server.sh # Convenience script for LLM backend
116+
└── start_next_server.sh # Convenience script for Next.js frontend
117+
```
118+
119+
---
120+
121+
Built for **AI-powered Education**, **Socratic Learning**, and **Personalized Tutoring**.

0 commit comments

Comments
 (0)