Mandark-droid commited on
Commit
cb9eb3c
Β·
1 Parent(s): 0f38d21

Add DrillDown tab with agent type and provider filters

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py CHANGED
@@ -55,6 +55,24 @@ def apply_filters(model, provider, sort_by_col):
55
  return html
56
 
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  # Build Gradio app
59
  with gr.Blocks(title="TraceMind-AI") as app:
60
  gr.Markdown("# 🧠 TraceMind-AI")
@@ -90,6 +108,26 @@ with gr.Blocks(title="TraceMind-AI") as app:
90
  # HTML table
91
  leaderboard_by_model = gr.HTML()
92
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  # Hidden textbox for row selection (JavaScript bridge)
94
  selected_row_index = gr.Textbox(visible=False, elem_id="selected_row_index")
95
 
@@ -105,6 +143,12 @@ with gr.Blocks(title="TraceMind-AI") as app:
105
  outputs=[leaderboard_by_model]
106
  )
107
 
 
 
 
 
 
 
108
 
109
  if __name__ == "__main__":
110
  print("πŸš€ Starting TraceMind-AI...")
 
55
  return html
56
 
57
 
58
+ def load_drilldown(agent_type, provider):
59
+ """Load drilldown data with filters"""
60
+ df = data_loader.load_leaderboard()
61
+
62
+ if agent_type != "All":
63
+ df = df[df['agent_type'] == agent_type]
64
+ if provider != "All":
65
+ df = df[df['provider'] == provider]
66
+
67
+ # Format for dataframe
68
+ display_df = df[[
69
+ 'run_id', 'model', 'agent_type', 'provider',
70
+ 'success_rate', 'total_tests', 'avg_duration_ms', 'total_cost_usd'
71
+ ]].copy()
72
+
73
+ return display_df
74
+
75
+
76
  # Build Gradio app
77
  with gr.Blocks(title="TraceMind-AI") as app:
78
  gr.Markdown("# 🧠 TraceMind-AI")
 
108
  # HTML table
109
  leaderboard_by_model = gr.HTML()
110
 
111
+ with gr.TabItem("πŸ“‹ DrillDown"):
112
+ with gr.Row():
113
+ drilldown_agent_type = gr.Radio(
114
+ choices=["All", "tool", "code", "both"],
115
+ value="All",
116
+ label="Agent Type"
117
+ )
118
+ drilldown_provider = gr.Dropdown(
119
+ choices=["All", "litellm", "transformers"],
120
+ value="All",
121
+ label="Provider"
122
+ )
123
+
124
+ apply_drilldown_btn = gr.Button("πŸ” Apply")
125
+
126
+ leaderboard_table = gr.Dataframe(
127
+ headers=["Run ID", "Model", "Agent Type", "Provider", "Success Rate", "Tests", "Duration", "Cost"],
128
+ interactive=False
129
+ )
130
+
131
  # Hidden textbox for row selection (JavaScript bridge)
132
  selected_row_index = gr.Textbox(visible=False, elem_id="selected_row_index")
133
 
 
143
  outputs=[leaderboard_by_model]
144
  )
145
 
146
+ apply_drilldown_btn.click(
147
+ fn=load_drilldown,
148
+ inputs=[drilldown_agent_type, drilldown_provider],
149
+ outputs=[leaderboard_table]
150
+ )
151
+
152
 
153
  if __name__ == "__main__":
154
  print("πŸš€ Starting TraceMind-AI...")