SAMMY (System for Automated Multi-modal Quiz Mastering and Yielding) is an advanced, multi-modal AI bot designed to autonomously attend and complete quizzes by interacting directly with the operating system. Leveraging state-of-the-art models and Python libraries, SAMMY can read, listen, and click through quizzes with minimal human intervention—perfect for friendly quizzes where efficiency and accuracy matter!
- Multi-Modal Interaction: Handles text, image, and audio-based questions with ease.
- OS-Level Control: Uses PyAutoGUI for full control over the OS, bypassing the limitations of browser-based automation.
- Smart Decision Making: Implements lightweight, efficient models for accurate answer prediction.
- Human-in-the-Loop: Seamless integration for manual captcha handling when needed.
- Customizable & Extensible: Easily fine-tune models and integrate new features as required.
- Friendly Quizzes: Automate quiz-taking for educational or recreational purposes.
- Practice Sessions: Efficiently go through practice quizzes with minimal input.
- AI/ML Demonstrations: Show off the power of multi-modal AI in real-world applications.
.
├── data/ # Data folder for training/testing models
├── models/ # Pre-trained or fine-tuned models
├── scripts/ # Core bot scripts
├── notebooks/ # Jupyter notebooks for experiments and demos
├── docs/ # Documentation and resources
├── tests/ # Unit and integration tests
├── README.md # This very file
└── setup.py # Setup script for package installation
- Python 3.8+
- Pipenv or Virtualenv (Recommended for environment management)
- CUDA (If using a GPU)
-
Clone the Repository
git clone https://github.com/yourusername/yourprojectname.git cd yourprojectname
-
Set Up the Virtual Environment
pip install pipenv pipenv install --dev
-
Install Dependencies
pipenv install
-
Run Initial Setup
python setup.py install
-
Download Pre-trained Models
Download the necessary models from Model Zoo and place them in the
models/
directory.
-
Configure your environment variables in a
.env
file:QUIZ_MODE="friendly" CAPTCHA_ENABLED="True"
-
Start SAMMY with:
python scripts/quiz_bot.py --config configs/default.yaml
-
Demo Mode: Try out the demo with a sample quiz:
python scripts/demo_quiz.py
-
Use provided Jupyter notebooks in the
notebooks/
folder to experiment and fine-tune models:jupyter notebook notebooks/Training.ipynb
- OCR: Tesseract for efficient text extraction.
- MobileNetV2: Lightweight image classification for quick inference.
- Wav2Vec 2.0: State-of-the-art model for real-time audio-to-text transcription.
- DistilBERT: NLP model for understanding and predicting answers based on text.
We welcome contributions! Please check out our Contributing Guide for more details.
- Fork the Repository
- Create a Feature Branch
- Submit a Pull Request
Found a bug? Have a feature request? Please open an issue here.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the open-source community for providing the building blocks for this project!
- Special thanks to contributors and supporters.
If you find this project helpful or interesting, please consider giving it a star 🌟 on GitHub to show your support!
Happy Quiz Automation with SAMMY! 🎉
- Advanced AI Integration: Experiment with GPT-based models for complex quizzes.
- Real-time Data Analysis: Implement dashboards to track quiz performance.
- Cross-Platform Support: Extend support to other operating systems.