QPAT-01 is an AI-powered tool designed to analyze past question papers, identify recurring patterns, and generate insightful question banks. It helps students and educators focus on high-priority topics, predict potential exam questions, and save valuable preparation time.
- Automated PDF Extraction: Automatically extracts questions from PDF files.
- Intelligent Question Analysis: Uses AI to understand question context and categorize them.
- Pattern Identification: Identifies frequently repeated questions across multiple years.
- Question Bank Generation: Creates organized question banks, categorized by subject, unit, and year.
- Likely Question Prediction: Predicts potential questions for future exams based on historical data.
- Flexible Export Options: Supports downloads in both Markdown and PDF formats.
- User-Friendly Interface: Provides an intuitive web interface via Streamlit.
- Python 3.7+
- A valid Google API key (required for AI functionalities)
- Internet connectivity (for accessing Google AI services)
-
Clone the repository:
git clone <repository-url> cd EH_01
-
Install the required Python packages:
pip install -r requirements.txt
- API Key: Obtain a Google API key and enter it in the application's sidebar. The application will automatically save it to
.envfile.
-
Run the Streamlit application:
streamlit run main.py
-
Open the URL displayed in the terminal in your web browser (usually
http://localhost:8501). -
Upload your PDF question papers using the file uploader.
-
Click the "Process Files" button.
-
Explore the generated question bank, predicted questions, and download options in the provided tabs.
/Users/kumarswamikallimath/Desktop/QPAT/
├── .streamlit/ # Streamlit configuration files
├── data/ # Data storage (JSON, Markdown, PDFs)
│ ├── json_data/
│ ├── md/
│ └── output/
├── pdf/ # Directory for uploaded PDF files
├── src/ # Python source code
│ ├── json_to_markdown.py
│ ├── markdown_to_pdf.py
│ ├── most_likely_questions.py
│ └── pdf_to_json.py
├── .env # Stores the Google API key
├── .gitignore # Specifies intentionally untracked files that Git should ignore
└── main.py # Streamlit application entry point
Feel free to contribute to the project by submitting pull requests, reporting issues, or suggesting new features.
This project is licensed under the MIT License - see the LICENSE file for details.