The Intelligent MCQ Generator Project is a comprehensive application designed to generate multiple-choice questions (MCQs) from a given text using natural language processing (NLP) techniques. The project aims to provide an efficient and accurate way to create MCQs, making it easier for educators and students to assess knowledge and understanding. The project consists of a backend API built using FastAPI and a frontend application built using Next.js.
- Generate MCQs from a given text using NLP techniques
- Summarize a given text using a large language model (LLM)
- Generate vocabulary words from a given text using a pre-trained BERT model
- Upload PDF files and extract text for MCQ generation
- Display results, including a list of MCQs
- Handle errors and loading states
- Backend:
- FastAPI for building the API
- PyPDF2 for reading PDF files
- NLTK, pke, and flashtext for NLP tasks
- PyTorch and transformers for loading pre-trained BERT models
- LangChain for building a summarization chain
- Frontend:
- Next.js for building the application
- React for building components
- next/image for optimizing images
- react-icons for icons
- Database: None
- AI Tools: NLTK, pke, flashtext, PyTorch, transformers, LangChain
- Build Tools: None
To install the project, follow these steps:
- Clone the repository using
git clone - Install the required dependencies using
pip install -r requirements.txt(for backend) andnpm install(for frontend) - Start the backend API using
uvicorn main:app --host 0.0.0.0 --port 8000 - Start the frontend application using
npm run dev
To use the project, follow these steps:
- Upload a PDF file to the backend API using the
load_pdfendpoint - The backend API will extract the text from the PDF and generate MCQs using the
excecutefunction - The frontend application will display the results, including a list of MCQs
back-end/
mcqgen.py
summarizer.py
vocabgen.py
main.py
front-end/
next.config.mjs
app/
layout.js
pages/
HomePage.jsx
ResultsPage.jsx
requirements.txt
package.jsonThis project was made possible by the contributions of many individuals. We would like to thank everyone who has contributed to the project. This is written by readme.ai