Spaces:
Runtime error
Runtime error
import gradio as gr | |
from performance_analyzer import CollegePerformanceAnalyzer | |
def run_performance_analysis(seed: int = None, use_ai_insights: bool = True): | |
""" | |
Main function to orchestrate college performance analysis. | |
Args: | |
seed (int, optional): Random seed for reproducible results | |
use_ai_insights (bool): Toggle AI-generated strategic insights | |
Returns: | |
Comprehensive performance analysis report | |
""" | |
# Initialize performance analyzer | |
analyzer = CollegePerformanceAnalyzer() | |
# Generate performance scores | |
parameters = analyzer.generate_performance_scores(seed) | |
# Calculate comprehensive metrics | |
analysis_results = analyzer.calculate_weighted_metrics(parameters) | |
# Generate feedback based on user preference | |
ai_feedback = ( | |
analyzer.generate_ai_feedback(analysis_results) | |
if use_ai_insights | |
else analyzer._generate_manual_feedback(analysis_results) | |
) | |
# Combine performance report with strategic insights | |
report = f""" | |
# π College Performance Analysis Report | |
## Performance Metrics | |
{' '.join([ | |
f"**{details['full_name']}**: {details['score']}/100 " | |
for param, details in analysis_results['parameters'].items() | |
])} | |
## Overall Performance | |
- **Total Weighted Score**: {analysis_results['total_weighted_score']:.2f} | |
- **Predicted NIRF Rank**: {analysis_results['nirf_rank']} | |
- **Institutional Rating**: {analysis_results['overall_rating']}/5 | |
## Strategic Insights | |
{ai_feedback} | |
""" | |
return report | |
def create_gradio_interface(): | |
""" | |
Create interactive Gradio web interface for performance analysis. | |
""" | |
iface = gr.Interface( | |
fn=run_performance_analysis, | |
inputs=[ | |
gr.Number(label="Random Seed (Optional)", precision=0, optional=True), | |
gr.Checkbox(label="Generate AI Insights", value=True) | |
], | |
outputs=gr.Markdown(label="Performance Analysis Report"), | |
title="π« College Performance Analyzer", | |
description="Generate comprehensive performance insights with optional AI-powered strategic analysis.", | |
theme="default" | |
) | |
return iface | |
if __name__ == "__main__": | |
interface = create_gradio_interface() | |
interface.launch() |