Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -5,6 +5,7 @@ import time
|
|
| 5 |
from datasets import load_dataset
|
| 6 |
# Using the stable, community-built RangeSlider component
|
| 7 |
from gradio_rangeslider import RangeSlider
|
|
|
|
| 8 |
|
| 9 |
# --- Constants ---
|
| 10 |
PARAM_CHOICES = ['< 1B', '1B', '5B', '12B', '32B', '64B', '128B', '256B', '> 500B']
|
|
@@ -45,7 +46,7 @@ def get_param_range_values(param_range_labels):
|
|
| 45 |
max_val = float('inf') if '>' in max_label else float(max_label.replace('B', ''))
|
| 46 |
return min_val, max_val
|
| 47 |
|
| 48 |
-
def make_treemap_data(df, count_by, top_k=25, tag_filter=None, pipeline_filter=None, param_range=None, skip_orgs=None, include_unknown_param_size=True, created_after_date=None):
|
| 49 |
if df is None or df.empty: return pd.DataFrame()
|
| 50 |
filtered_df = df.copy()
|
| 51 |
|
|
@@ -64,13 +65,13 @@ def make_treemap_data(df, count_by, top_k=25, tag_filter=None, pipeline_filter=N
|
|
| 64 |
if min_params is not None: filtered_df = filtered_df[filtered_df['params'] >= min_params]
|
| 65 |
if max_params is not None and max_params != float('inf'): filtered_df = filtered_df[filtered_df['params'] < max_params]
|
| 66 |
|
| 67 |
-
#
|
| 68 |
if created_after_date is not None and 'createdAt' in filtered_df.columns:
|
| 69 |
-
#
|
| 70 |
filtered_df = filtered_df.dropna(subset=['createdAt'])
|
| 71 |
-
# The '
|
| 72 |
-
|
| 73 |
-
|
| 74 |
|
| 75 |
if skip_orgs and len(skip_orgs) > 0 and "organization" in filtered_df.columns:
|
| 76 |
filtered_df = filtered_df[~filtered_df["organization"].isin(skip_orgs)]
|
|
@@ -130,8 +131,8 @@ with gr.Blocks(title="🤗 ModelVerse Explorer", fill_width=True, css=custom_css
|
|
| 130 |
param_range_display = gr.Markdown(f"Range: `{PARAM_CHOICES[0]}` to `{PARAM_CHOICES[-1]}`")
|
| 131 |
include_unknown_params_checkbox = gr.Checkbox(label="Include models with unknown parameter size", value=True)
|
| 132 |
|
| 133 |
-
# --- CORRECTED
|
| 134 |
-
created_after_datepicker = gr.
|
| 135 |
|
| 136 |
top_k_dropdown = gr.Dropdown(label="Number of Top Organizations", choices=TOP_K_CHOICES, value=25)
|
| 137 |
skip_orgs_textbox = gr.Textbox(label="Organizations to Skip (comma-separated)", value="TheBloke,MaziyarPanahi,unsloth,modularai,Gensyn,bartowski")
|
|
@@ -150,7 +151,10 @@ with gr.Blocks(title="🤗 ModelVerse Explorer", fill_width=True, css=custom_css
|
|
| 150 |
def _toggle_unknown_params_checkbox(param_range_indices):
|
| 151 |
min_idx, max_idx = int(param_range_indices[0]), int(param_range_indices[1])
|
| 152 |
is_default_range = (min_idx == PARAM_CHOICES_DEFAULT_INDICES[0] and max_idx == PARAM_CHOICES_DEFAULT_INDICES[1])
|
| 153 |
-
|
|
|
|
|
|
|
|
|
|
| 154 |
|
| 155 |
param_range_slider.change(update_param_display, param_range_slider, param_range_display)
|
| 156 |
param_range_slider.change(_toggle_unknown_params_checkbox, param_range_slider, include_unknown_params_checkbox)
|
|
|
|
| 5 |
from datasets import load_dataset
|
| 6 |
# Using the stable, community-built RangeSlider component
|
| 7 |
from gradio_rangeslider import RangeSlider
|
| 8 |
+
import datetime # Import the datetime module
|
| 9 |
|
| 10 |
# --- Constants ---
|
| 11 |
PARAM_CHOICES = ['< 1B', '1B', '5B', '12B', '32B', '64B', '128B', '256B', '> 500B']
|
|
|
|
| 46 |
max_val = float('inf') if '>' in max_label else float(max_label.replace('B', ''))
|
| 47 |
return min_val, max_val
|
| 48 |
|
| 49 |
+
def make_treemap_data(df, count_by, top_k=25, tag_filter=None, pipeline_filter=None, param_range=None, skip_orgs=None, include_unknown_param_size=True, created_after_date: datetime.datetime = None):
|
| 50 |
if df is None or df.empty: return pd.DataFrame()
|
| 51 |
filtered_df = df.copy()
|
| 52 |
|
|
|
|
| 65 |
if min_params is not None: filtered_df = filtered_df[filtered_df['params'] >= min_params]
|
| 66 |
if max_params is not None and max_params != float('inf'): filtered_df = filtered_df[filtered_df['params'] < max_params]
|
| 67 |
|
| 68 |
+
# --- CORRECTED DATE FILTER LOGIC FOR datetime OBJECT ---
|
| 69 |
if created_after_date is not None and 'createdAt' in filtered_df.columns:
|
| 70 |
+
# Drop rows where 'createdAt' could not be parsed
|
| 71 |
filtered_df = filtered_df.dropna(subset=['createdAt'])
|
| 72 |
+
# The 'created_after_date' is a datetime object from gr.DateTime.
|
| 73 |
+
# Compare its date part with the date part of the 'createdAt' column.
|
| 74 |
+
filtered_df = filtered_df[filtered_df['createdAt'].dt.date > created_after_date.date()]
|
| 75 |
|
| 76 |
if skip_orgs and len(skip_orgs) > 0 and "organization" in filtered_df.columns:
|
| 77 |
filtered_df = filtered_df[~filtered_df["organization"].isin(skip_orgs)]
|
|
|
|
| 131 |
param_range_display = gr.Markdown(f"Range: `{PARAM_CHOICES[0]}` to `{PARAM_CHOICES[-1]}`")
|
| 132 |
include_unknown_params_checkbox = gr.Checkbox(label="Include models with unknown parameter size", value=True)
|
| 133 |
|
| 134 |
+
# --- CORRECTED COMPONENT BASED ON DOCUMENTATION ---
|
| 135 |
+
created_after_datepicker = gr.DateTime(label="Created After")
|
| 136 |
|
| 137 |
top_k_dropdown = gr.Dropdown(label="Number of Top Organizations", choices=TOP_K_CHOICES, value=25)
|
| 138 |
skip_orgs_textbox = gr.Textbox(label="Organizations to Skip (comma-separated)", value="TheBloke,MaziyarPanahi,unsloth,modularai,Gensyn,bartowski")
|
|
|
|
| 151 |
def _toggle_unknown_params_checkbox(param_range_indices):
|
| 152 |
min_idx, max_idx = int(param_range_indices[0]), int(param_range_indices[1])
|
| 153 |
is_default_range = (min_idx == PARAM_CHOICES_DEFAULT_INDICES[0] and max_idx == PARAM_CHOICES_DEFAULT_INDICES[1])
|
| 154 |
+
if not is_default_range:
|
| 155 |
+
return gr.update(interactive=False, value=False)
|
| 156 |
+
else:
|
| 157 |
+
return gr.update(interactive=True)
|
| 158 |
|
| 159 |
param_range_slider.change(update_param_display, param_range_slider, param_range_display)
|
| 160 |
param_range_slider.change(_toggle_unknown_params_checkbox, param_range_slider, include_unknown_params_checkbox)
|