A web application that leverages advanced NLP and Large Language Models (LLMs) such as BERT, T5, and Llama 3.2 to automatically generate multiple-choice questions (MCQs) from textual content. The platform allows users to log in, generate quizzes, and test their knowledge with dynamically created questions.
- Automated MCQ Generation: Generate high-quality multiple-choice questions from input text using state-of-the-art LLMs.
- Supports Multiple LLMs: Option to use models like BERT, T5, and Llama 3.2 for varied question styles and complexity.
- User Authentication: Secure user login and registration system.
- Quiz & Test Yourself: Interactive quizzes to assess your understanding based on generated questions.
- User Dashboard: View quiz history and manage your account.
- Python 3.x installed
- Django framework
- (Recommended) Virtual environment tool such as
venv - Required NLP/LLM model weights (see setup instructions)
-
Clone the repository:
git clone https://github.com/BirendraKSharma/mcqs_generation.git cd mcqs_generation -
Create and activate a virtual environment:
python -m venv myenv # On Windows: myenv\Scripts\activate # On Unix or MacOS: source myenv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up LLM/NLP models:
- Download or configure pre-trained models (BERT, T5, Llama 3.2) as per the instructions in the project documentation or scripts.
- Ensure model paths/configurations are set correctly in the Django settings or environment file.
-
Apply Django migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
The application will be available at
http://127.0.0.1:8000/by default.
- Open your browser and navigate to
http://127.0.0.1:8000/. - Register or log in as a user.
- Input text or select content for MCQ generation.
- Take quizzes based on generated questions and view your scores.
- Track your quiz history and progress in the dashboard.
manage.py: Django project management script.mcqs_generator/: Main Django app handling MCQ generation logic.accounts/: User authentication and profile management.templates/: HTML templates for the web interface.static/: Static files (CSS, JS, images).requirements.txt: Python dependencies.screenshots/: Demo images (not included in version control).
Major libraries used (see requirements.txt for full list):
- Django
- Transformers (HuggingFace)
- torch
- numpy
- pandas
- (Add any other model-specific dependencies here)
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.
For questions or feedback, open an issue on this repository or contact the maintainer: BirendraKSharma

