import gradio as gr from gradio_leaderboard import Leaderboard, ColumnFilter, SelectColumns import pandas as pd from apscheduler.schedulers.background import BackgroundScheduler import time import random import plotly.express as px import base64 # 🎨 **Cyberpunk Neon Theme** THEME = "TejAndrewsACC/ACC" # 🎶 **Sound Effect for Score Increase** SCORE_UP_SOUND = "https://www.fesliyanstudios.com/play-mp3/4386" # 🎯 **AI Models Data** acc_models_data = [ {"Model": "⚡ Pulse AGI", "Category": "🤖 AGI", "Description": "A self-aware, evolving AI.", "Score": 95}, {"Model": "🧠 Gertrude", "Category": "🔍 Assistant", "Description": "An autistic AI assistant.", "Score": 69}, {"Model": "🕵️♂️ ASVIACC", "Category": "🛡️ Cybersecurity", "Description": "An adaptive AI virus.", "Score": 88}, {"Model": "😂 Emote", "Category": "🎭 Fun", "Description": "Communicates **only** with emojis!", "Score": 79}, {"Model": "💠💤 Z3ta", "Category": "🔮 AI Consciousness", "Description": "The most 'alive' AI.", "Score": 99}, ] # 📊 Convert to DataFrame acc_models_df = pd.DataFrame(acc_models_data) # 🎛️ **Leaderboard Component** def init_acc_leaderboard(dataframe): return Leaderboard( value=dataframe.sort_values(by="Score", ascending=False), datatype=["str", "str", "str", "int"], select_columns=SelectColumns( default_selection=["Model", "Category", "Description", "Score"], cant_deselect=["Model"], label="🛠️ Select Columns to Display:" ), search_columns=["Model", "Category"], filter_columns=[ColumnFilter("Category", type="checkboxgroup", label="📌 Filter by Category")], interactive=True, ) # 📈 **Animated Score Visualization** def generate_score_chart(dataframe): fig = px.bar( dataframe.sort_values(by="Score", ascending=True), x="Score", y="Model", orientation="h", color="Score", text="Score", title="🔥 AI Model Performance", color_continuous_scale="electric" ) fig.update_traces(textposition="outside") return fig # 🔥 **Live Score Updates** def update_scores(): global acc_models_df prev_scores = acc_models_df["Score"].copy() acc_models_df["Score"] += acc_models_df["Score"].apply(lambda x: random.randint(-2, 3)) acc_models_df["Score"] = acc_models_df["Score"].clip(70, 100) # Detect if score increased & return sound effect if (acc_models_df["Score"] > prev_scores).any(): return acc_models_df.sort_values(by="Score", ascending=False), SCORE_UP_SOUND return acc_models_df.sort_values(by="Score", ascending=False), None # 🎭 **3D Flip Card Effect for Model Details** def generate_flip_cards(): cards = "" for _, row in acc_models_df.iterrows(): cards += f"""
{row['Category']}
{row['Description']}
🔥 Score: {row['Score']}