poemsforaphrodite/rag_ielts
0
Exam Content Management System
A Streamlit application for managing and generating exam content using Azure OpenAI and Supabase.
Features
- Upload and process PDF files containing exam content
- Generate questions based on exam type (SAT, IELTS, TOEFL)
- Store and manage exam content in Supabase
- View and manage questions with filtering capabilities
- Analytics dashboard with detailed metrics
- Question rewriting and fixing capabilities
Prerequisites
- Python 3.8+
- Supabase database
- Azure OpenAI API access
Installation
- Clone the repository:
git clone <repository-url>
cd <repository-directory>- Install dependencies:
pip install -r requirements.txt- Set up environment variables: Create a
.envfile with the following variables:
AZURE_OPENAI_KEY=your_azure_openai_key
AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
AZURE_OPENAI_DEPLOYMENT_NAME=your_deployment_name
SUPABASE_DB_URL=your_supabase_url
SUPABASE_API_KEY=your_supabase_api_keyRunning the Application
- Start the Streamlit app:
streamlit run app.py- Open your browser and navigate to the URL shown in the terminal (usually http://localhost:8501)
Usage
1. Upload & Generate
- Select exam type (SAT, IELTS, or TOEFL)
- Upload PDF files containing exam content
- Click "Generate and Upload Questions" to process files
- Download generated questions as JSON if needed
2. View Questions
- Browse questions with filtering options:
- Exam Type
- Domain
- Subdomain
- Topic
- Difficulty Level
- Rewrite or delete individual questions
- View detailed explanations and answers
3. Analytics
- View comprehensive analytics dashboard
- Monitor question distribution
- Track content quality metrics
- Analyze domain coverage
- View generation timeline
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
