Spaces:
Sleeping
Sleeping
A newer version of the Streamlit SDK is available:
1.44.0
metadata
title: rag_ielts
app_file: app.py
sdk: streamlit
emoji: π
colorFrom: green
colorTo: indigo
pinned: true
sdk_version: 1.41.1
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
.env
file 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_key
Running 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.