An AI-powered platform to create dynamic and adaptive exams from educational content
The RAG System for Exam Generation is a state-of-the-art platform designed to simplify the process of creating and managing exams. By leveraging Retrieval-Augmented Generation (RAG), the system retrieves relevant course content and uses advanced NLP techniques to generate questions dynamically. The project also includes features like automated grading and a user-friendly interface, ensuring a seamless experience for both educators and students.
-
Knowledge Base Construction:
Curated and structured database of course materials, including lecture notes, textbooks, and multimedia. -
Document Retrieval & Preprocessing:
Efficient retrieval mechanisms and data preprocessing to extract relevant information. -
Dynamic Question Generation:
AI-powered generation of multiple-choice and open-ended questions with customizable difficulty levels. -
Automated Answer Verification & Grading:
Instant evaluation of responses with intelligent grading algorithms. -
Interactive User Interface:
Built with Next.js, the platform offers a sleek, responsive interface for taking exams and receiving feedback.
- Next.js: For creating a modern, responsive user interface.
- Python: Core language for retrieval, question generation, and grading logic.
- FastAPI/Flask: For building APIs to connect the front end with backend services.
- Hugging Face Transformers: For leveraging models like T5 and GPT for question generation.
- Elasticsearch: For efficient document retrieval.
- Sentence-BERT: For semantic similarity in answer grading.
- PostgreSQL: To store and manage structured data.
RAG-System-Exam-Generation/
├── frontend/ # Next.js frontend code
├── backend/ # APIs, NLP pipelines, and grading logic
├── data/ # Knowledge base data (lecture notes, textbooks, etc.)
├── models/ # Pre-trained and fine-tuned NLP models
├── scripts/ # Utility scripts for data preprocessing and testing
└── README.md # Project documentation
-
Knowledge Base Construction:
Upload structured course materials into the system. -
Document Retrieval:
The RAG system retrieves relevant content using semantic search. -
Question Generation:
AI models generate exam questions tailored to the retrieved content. -
Answer Verification & Grading:
Student responses are automatically graded based on predefined algorithms. -
User Interaction:
Students access exams via a user-friendly interface and receive instant feedback.
- Nourdin: Knowledge Base Construction
- Nordin & Youssef: Document Retrieval & Preprocessing
- Youssef: NLP for Question Generation
- Abdelfattah Bouhlali: Answer Verification, Grading, and User Interface
- Clone the repository:
git clone https://github.com/<your-username>/RAG-System-Exam-Generation.git cd RAG-System-Exam-Generation
- Install backend dependencies:
pip install -r backend/requirements.txt
- Run the backend server:
python backend/app.py
- Start the Next.js frontend:
cd frontend npm install npm run dev - Access the platform at
http://localhost:3000.
- Expand question types (e.g., drag-and-drop, matching).
- Add support for adaptive exams based on student performance.
- Implement multilingual support for diverse educational contexts.
This project is licensed under the MIT License. See the LICENSE file for details.