QuizBot acts as an AI Assistant to the teacher. Just upload your teaching material and it creates customizable 'MCQ' question sets based on teacher-selected difficulty, number of questions, and options.
- Chains : Combination of propmt templates to run queries against an LLM where output of one component acts as an input to another.
- Prompt templates : help to translate user input and parameters into instructions for a language model. This can be used to guide a model's response, helping it understand the context and generate relevant and coherent language-based output.
- Prompt Templates take as input a dictionary, where each key represents a variable in the prompt template to fill in.
-
File Upload
Teacher uploads study material. Set parameters for number of questions, options and difficulty level.
-
Tells the LLM to summarize the entire content to make reasoning easier and avoid Context Length crashes.
-
Tells the LLM to generate MCQ's based on the summary and keeping in mind the parameters set by the teachers.
-
Chain Visualization
- Upload multiple files (
.txt,.pdf,.docx) - Automatically summarizes uploaded content
- Generates MCQs based on:
- Number of questions
- Number of options per question
- Difficulty level (Easy, Medium, Hard)
- Uses LangChain prompt chaining with LLM
- Clean frontend interface:
- Markdown-rendered output
- Separate output sections for Questions and Answers
- Copy-to-clipboard functionality for both sections
QuizBot-Demo.webm
Install the required Python packages:
pip install flask python-docx PyPDF2 langchain langchain_communityYou must also have Ollama installed and running a compatible local model (such as llama3.1:8b)
LangChainOllamaLLM (llama3)Flaskmarked.jsfor Markdown rendering in the frontend
Developed by Harsh, AI/ML Enthusiast.


