xhaktm00 commited on
Commit
6390f61
·
1 Parent(s): 23cd914

한글 텍스트 수정

Browse files
Files changed (1) hide show
  1. tabs/leaderboard_v1.py +61 -42
tabs/leaderboard_v1.py CHANGED
@@ -225,7 +225,7 @@ def create_leaderboard_v2_tab():
225
  level_details = {
226
  "ALL": {
227
  "title": "ALL · 전체 태스크",
228
- "description": "7개의 태스크 전반의 평균 성능을 한눈에 살펴보고 레벨 비교를 위한 기준점을 제공합니다."
229
  },
230
  "L1": {
231
  "title": "<span style='color: white;'>L1 · 단일 도구 실행</span>",
@@ -237,7 +237,7 @@ def create_leaderboard_v2_tab():
237
  },
238
  "L3": {
239
  "title": "<span style='color: white;'>L3 · 순차적 추론 (Chaining)</span>",
240
- "description": "<span style='color: white;'>복수 단계의 순차적 reasoning을 통해 문제를 해결하는 과정을 검증합니다.</span>"
241
  },
242
  "L4": {
243
  "title": "<span style='color: white;'>L4 · 병렬적 추론 (Aggregation)</span>",
@@ -380,7 +380,7 @@ def create_leaderboard_v2_tab():
380
  if overall_highlight:
381
  overall_header_classes.append("highlight-header")
382
  table_html += f"""
383
- <th class="{' '.join(overall_header_classes)}" title="Average success rate across all levels">
384
  <span class="metric-header">Overall <span class="info-icon">ⓘ</span></span>
385
  </th>
386
  """
@@ -389,7 +389,7 @@ def create_leaderboard_v2_tab():
389
  if highlight_map.get(level):
390
  header_classes.append("highlight-header")
391
  table_html += f"""
392
- <th class="{' '.join(header_classes)}" title="Average success rate for {level}">
393
  <span class="metric-header">{level} <span class="info-icon">ⓘ</span></span>
394
  </th>
395
  """
@@ -896,7 +896,7 @@ def create_leaderboard_v2_tab():
896
 
897
  .section-title {
898
  font-size: 2.2rem;
899
- font-weight: 700;
900
  color: var(--text-primary);
901
  margin-bottom: 12px;
902
  text-align: center !important;
@@ -905,7 +905,7 @@ def create_leaderboard_v2_tab():
905
  .section-lead, .section-subtitle {
906
  font-size: 1.1rem;
907
  color: var(--text-secondary);
908
- max-width: 720px;
909
  margin: 0 auto 24px auto;
910
  line-height: 1.7;
911
  text-align: center !important;
@@ -983,7 +983,7 @@ def create_leaderboard_v2_tab():
983
  }
984
 
985
  .scenario-body {
986
- max-width: 760px;
987
  margin: 0 auto;
988
  text-align: center;
989
  }
@@ -1091,7 +1091,7 @@ def create_leaderboard_v2_tab():
1091
  gr.HTML("""
1092
  <div style="text-align: center; padding: 20px 0;">
1093
  <h1 class="hero-title">Hugging Face KREW Ko-AgentBench</h1>
1094
- <p class="hero-subtitle">한국 실사용 환경 특화 에이전트 벤치마크</p>
1095
  </div>
1096
  """)
1097
 
@@ -1138,7 +1138,7 @@ def create_leaderboard_v2_tab():
1138
  <div class="section-header">
1139
  <h2 class="section-title">단계별 태스크 설계</h2>
1140
  </div>
1141
- <p class="section-lead" style="text-align: center; margin: 0 auto 24px auto; max-width: 720px; line-height: 1.7; word-break: keep-all;">단순 도구 호출부터 장기적 맥락 능력, 강건성 처리 능력까지 에이전트의 능력을 7단계로 입체적으로 분석하였습니다.</p>
1142
  <div class="phase-grid">
1143
  <div class="phase-card">
1144
  <h3>Single-Turn</h3>
@@ -1148,9 +1148,9 @@ def create_leaderboard_v2_tab():
1148
  <ul class="phase-list">
1149
  <li style="color: white;">L1: 단일 도구 실행</li>
1150
  <li style="color: white;">L2: 도구 선택 능력</li>
1151
- <li style="color: white;">L3: 순차적 reasoning (Chaining)</li>
1152
- <li style="color: white;">L4: 병렬적 reasoning (Aggregation)</li>
1153
- <li style="color: white;">L5: 강건성 (Robustness / Fallback)</li>
1154
  </ul>
1155
  </div>
1156
  <div class="phase-card">
@@ -1159,8 +1159,8 @@ def create_leaderboard_v2_tab():
1159
  <span>20%</span>
1160
  </div>
1161
  <ul class="phase-list">
1162
- <li style="color: white;">L6: 효율성 (Efficiency)</li>
1163
- <li style="color: white;">L7: 장기 컨텍스트 기억 (Contextual Memory)</li>
1164
  </ul>
1165
  </div>
1166
  </div>
@@ -1171,10 +1171,11 @@ def create_leaderboard_v2_tab():
1171
  gr.HTML("""
1172
  <div class="dashboard-section emphasized">
1173
  <div class="section-header">
1174
- <h2 class="section-title">18가지 한국형 API 사용 실생활 환경에 특화된 고품질 시나리오 구성</h2>
1175
  </div>
1176
  <div class="scenario-body">
1177
- <p>네이버, 지도, 카카오, 웹사이트 한국 실사용 환경 기반의 API를 기반으로 국내 사용자의 일상과 밀접한 '약속 예약', '블로그 후기 검색'과 같은 현실적인 문제 해결 시나리오를 구현했습니다.</p>
 
1178
  </div>
1179
  <div class="section-flow">⌄</div>
1180
  </div>
@@ -1188,25 +1189,25 @@ def create_leaderboard_v2_tab():
1188
  </div>
1189
  <div class="criteria-grid">
1190
  <div class="criteria-card">
1191
- <h3>핵심 기반 반복 평가</h3>
1192
  <ul>
1193
- <li>실패 API 응답 개선</li>
1194
- <li>'정보 속성 불일치성 변경' 등 기존 벤치마크의 고질적 문제 해결</li>
1195
  <li>벤치마크의 일관성과 신뢰도 보장</li>
1196
  </ul>
1197
  </div>
1198
  <div class="criteria-card">
1199
  <h3>강건성 테스트</h3>
1200
  <ul>
1201
- <li>의도된 오류 상황(상품 단종)의 오류 인식/대응 능력(전략)까지 평가</li>
1202
  <li>현실 환경에서도 안정적으로 작동하는 모델 선별</li>
1203
  </ul>
1204
  </div>
1205
  <div class="criteria-card">
1206
  <h3>단계별 고유 정밀 지표</h3>
1207
  <ul>
1208
- <li>도구 선택, 파라미터 구성, 데이터 흐름 등 문제 해결의 불필요/소요 단계별 평가</li>
1209
- <li>모델의 강/약점 정량적으로 식별</li>
1210
  </ul>
1211
  </div>
1212
  </div>
@@ -1264,10 +1265,18 @@ def create_leaderboard_v2_tab():
1264
 
1265
  .domain-performance-container .domain-subtitle {
1266
  font-size: 1.05rem;
1267
- max-width: 720px;
 
 
 
 
 
 
1268
  margin: 0 auto;
 
1269
  }
1270
 
 
1271
  .leaderboard-intro .domain-title,
1272
  .domain-performance-container > .domain-header .domain-title,
1273
  .performance-card-container > .domain-header .domain-title {
@@ -1296,7 +1305,7 @@ def create_leaderboard_v2_tab():
1296
 
1297
  .performance-card-container .domain-subtitle {
1298
  font-size: 1.05rem;
1299
- max-width: 720px;
1300
  margin: 0 auto;
1301
  }
1302
 
@@ -1962,7 +1971,7 @@ def create_leaderboard_v2_tab():
1962
  gr.HTML("""
1963
  <div class="domain-header">
1964
  <h2 class="domain-title" style="color: white;">🔍 Filters & Sorting</h2>
1965
- <p class="domain-subtitle" style="color: white;">모델 접근 방식과 정렬 순서를 선택해 맞춤 뷰를 구성하세요.</p>
1966
  </div>
1967
  """)
1968
  with gr.Row(elem_classes=["filters-sorting-row"]):
@@ -2001,7 +2010,8 @@ def create_leaderboard_v2_tab():
2001
  <div class="domain-selector-container domain-performance-container">
2002
  <div class="domain-header">
2003
  <h2 class="domain-title" style="color: white;">Core Capability Radar</h2>
2004
- <p class="domain-subtitle" style="color: white;">Track six essential pillars: Success, Execution, Reasoning, Robustness, Efficiency, and Call Validity.</p>
 
2005
  </div>
2006
  """)
2007
 
@@ -2009,7 +2019,7 @@ def create_leaderboard_v2_tab():
2009
  gr.HTML("""
2010
  <div class="domain-header">
2011
  <h2 class="domain-title" style="color: white;">🎯 Select Models for Comparison</h2>
2012
- <p class="domain-subtitle" style="color: white;">Choose up to 5 models to map on the capability radar.</p>
2013
  </div>
2014
  """)
2015
  model_selector = gr.Dropdown(
@@ -2041,7 +2051,7 @@ def create_leaderboard_v2_tab():
2041
  <div class="domain-selector-container domain-performance-container level-metrics-wrapper">
2042
  <div class="domain-header">
2043
  <h2 class="domain-title" style="color: white;">Level-Specific Metric Spotlight</h2>
2044
- <p class="domain-subtitle" style="color: white;">Dive deeper into each Ko-AgentBench stage and compare model scores across its unique evaluation metrics.</p>
2045
  </div>
2046
  """)
2047
 
@@ -2049,7 +2059,8 @@ def create_leaderboard_v2_tab():
2049
  gr.HTML("""
2050
  <div class="domain-header">
2051
  <h2 class="domain-title" style="color: white;">🧭 Select Task Level and Models</h2>
2052
- <p class="domain-subtitle" style="color: white;">Choose a level and up to 5 models to explore their detailed SR-driven metrics.</p>
 
2053
  </div>
2054
  """)
2055
  level_metric_selector = gr.Dropdown(
@@ -2087,7 +2098,7 @@ def create_leaderboard_v2_tab():
2087
  <div class="domain-selector-container domain-performance-container heatmap-wrapper">
2088
  <div class="domain-header">
2089
  <h2 class="domain-title" style="color: white;">Comprehensive Performance Heatmap</h2>
2090
- <p class="domain-subtitle" style="color: white;">View Ko-AgentBench SR scores across L1~L7 for each model in a single glance.</p>
2091
  </div>
2092
  <div class="chart-container heatmap-chart-container">
2093
  """)
@@ -2340,12 +2351,13 @@ def create_leaderboard_v2_tab():
2340
  return 'N/A'
2341
  return f"{float(value):.3f}"
2342
 
 
2343
  radar_metrics = [
2344
  ("기초 수행력", row.get('Execution Accuracy')),
2345
- ("복합 추론력", row.get('Complex Reasoning')),
2346
- ("견고성", row.get('Robustness')),
2347
  ("맥락 효율성", row.get('Context & Efficiency')),
2348
  ("전반적 성공률", row.get('Overall Success')),
 
 
2349
  ("기본적 유효성", row.get('Call Validity')),
2350
  ]
2351
  radar_values = []
@@ -2401,7 +2413,7 @@ def create_leaderboard_v2_tab():
2401
  <div class="core-section">
2402
  <div class="core-metric-grid">
2403
  """
2404
- ordered_labels = ["기초 수행력", "복합 추론력", "견고성", "맥락 효율성", "전반적 성공률", "기본적 유효성"]
2405
  ordered_metrics = sorted(radar_metrics, key=lambda x: ordered_labels.index(x[0]) if x[0] in ordered_labels else len(ordered_labels))
2406
  top_metrics = ordered_metrics[:3]
2407
  bottom_metrics = ordered_metrics[3:]
@@ -2453,7 +2465,12 @@ def create_leaderboard_v2_tab():
2453
  <div class="domain-selector-container performance-card-container">
2454
  <div class="domain-header">
2455
  <h2 class="domain-title" style="color: white;">Model Performance Card</h2>
2456
- <p class="domain-subtitle" style="color: white;">Comprehensive performance card for any model - perfect for presentations and reports</p>
 
 
 
 
 
2457
  </div>
2458
  <div class="performance-card-content">
2459
  """)
@@ -2474,7 +2491,7 @@ def create_leaderboard_v2_tab():
2474
  elem_classes=["model-dropdown"]
2475
  )
2476
  download_card_btn = gr.Button(
2477
- "Download Card as PNG",
2478
  elem_id="download-card-btn",
2479
  elem_classes=["pill-button"]
2480
  )
@@ -3022,13 +3039,15 @@ def create_leaderboard_v2_interface():
3022
  def create_domain_radar_chart(df, selected_models=None, max_models=5):
3023
  """Visualize six core capability metrics on a radar chart."""
3024
  df = df.copy()
 
 
3025
  metrics_info = [
3026
- {"column": "Overall Success", "label": "Overall Success", "description": "Average SR across L1-L7"},
3027
- {"column": "Execution Accuracy", "label": "Execution Accuracy", "description": "CallEM · ArgAcc · SelectAcc"},
3028
- {"column": "Complex Reasoning", "label": "Complex Reasoning", "description": "ProvAcc · PSM · Coverage"},
3029
- {"column": "Robustness", "label": "Robustness", "description": "AdaptiveRouting · FallbackSR"},
3030
- {"column": "Context & Efficiency", "label": "Context & Efficiency", "description": "ReuseRate · EffScore · ContextRetention"},
3031
- {"column": "Call Validity", "label": "Call Validity", "description": "Average EPR_CVR across levels"},
3032
  ]
3033
 
3034
  required_columns = [m["column"] for m in metrics_info]
@@ -3185,7 +3204,7 @@ def create_domain_radar_chart(df, selected_models=None, max_models=5):
3185
  autosize=True,
3186
  annotations=[
3187
  dict(
3188
- text="Galileo Agent Leaderboard",
3189
  xref="paper", yref="paper",
3190
  x=0.98, y=0.02,
3191
  xanchor='right', yanchor='bottom',
 
225
  level_details = {
226
  "ALL": {
227
  "title": "ALL · 전체 태스크",
228
+ "description": "L1~L7 단계의 평균 SR을 통해 모델의 전반적 성능 수준과 단계별 강점을 비교할 수 있습니다."
229
  },
230
  "L1": {
231
  "title": "<span style='color: white;'>L1 · 단일 도구 실행</span>",
 
237
  },
238
  "L3": {
239
  "title": "<span style='color: white;'>L3 · 순차적 추론 (Chaining)</span>",
240
+ "description": "<span style='color: white;'>복수 단계의 순차적 추론을 통해 문제를 해결하는 과정을 검증합니다.</span>"
241
  },
242
  "L4": {
243
  "title": "<span style='color: white;'>L4 · 병렬적 추론 (Aggregation)</span>",
 
380
  if overall_highlight:
381
  overall_header_classes.append("highlight-header")
382
  table_html += f"""
383
+ <th class="{' '.join(overall_header_classes)}" title="L1~L7 모든 단계의 평균 성공률">
384
  <span class="metric-header">Overall <span class="info-icon">ⓘ</span></span>
385
  </th>
386
  """
 
389
  if highlight_map.get(level):
390
  header_classes.append("highlight-header")
391
  table_html += f"""
392
+ <th class="{' '.join(header_classes)}" title="평균 성공률 {level}">
393
  <span class="metric-header">{level} <span class="info-icon">ⓘ</span></span>
394
  </th>
395
  """
 
896
 
897
  .section-title {
898
  font-size: 2.2rem;
899
+ font-weight: 1000;
900
  color: var(--text-primary);
901
  margin-bottom: 12px;
902
  text-align: center !important;
 
905
  .section-lead, .section-subtitle {
906
  font-size: 1.1rem;
907
  color: var(--text-secondary);
908
+ max-width: 1500px;
909
  margin: 0 auto 24px auto;
910
  line-height: 1.7;
911
  text-align: center !important;
 
983
  }
984
 
985
  .scenario-body {
986
+ max-width: 1200px;
987
  margin: 0 auto;
988
  text-align: center;
989
  }
 
1091
  gr.HTML("""
1092
  <div style="text-align: center; padding: 20px 0;">
1093
  <h1 class="hero-title">Hugging Face KREW Ko-AgentBench</h1>
1094
+ <p class="hero-subtitle">한국 서비스 환경 특화 에이전트 벤치마크</p>
1095
  </div>
1096
  """)
1097
 
 
1138
  <div class="section-header">
1139
  <h2 class="section-title">단계별 태스크 설계</h2>
1140
  </div>
1141
+ <p class="section-lead" style="text-align: center; margin: 0 auto 24px auto; max-width: 1000px; line-height: 1.7; word-break: keep-all;">단순 도구 호출부터 장기적 맥락 이해와 강건성 처리까지, 에이전트의 능력을 7단계 구분하여 입체적으로 분석했습니다.</p>
1142
  <div class="phase-grid">
1143
  <div class="phase-card">
1144
  <h3>Single-Turn</h3>
 
1148
  <ul class="phase-list">
1149
  <li style="color: white;">L1: 단일 도구 실행</li>
1150
  <li style="color: white;">L2: 도구 선택 능력</li>
1151
+ <li style="color: white;">L3: 순차적 추론</li>
1152
+ <li style="color: white;">L4: 병렬적 추론</li>
1153
+ <li style="color: white;">L5: 강건성</li>
1154
  </ul>
1155
  </div>
1156
  <div class="phase-card">
 
1159
  <span>20%</span>
1160
  </div>
1161
  <ul class="phase-list">
1162
+ <li style="color: white;">L6: 효율성</li>
1163
+ <li style="color: white;">L7: 장기 컨텍스트 기억</li>
1164
  </ul>
1165
  </div>
1166
  </div>
 
1171
  gr.HTML("""
1172
  <div class="dashboard-section emphasized">
1173
  <div class="section-header">
1174
+ <h2 class="section-title">국내 환경에 최적화된 18 API 활용한 실생활 시나리오 설계</h2>
1175
  </div>
1176
  <div class="scenario-body">
1177
+ <p>네이버 지도, 카카오국내 주요 서비스 API를 연동하여,
1178
+ ‘약속 예약’, ‘블로그 후기 검색’ 등 실생활 밀착형 문제 해결 시나리오를 설계했습니다.</p>
1179
  </div>
1180
  <div class="section-flow">⌄</div>
1181
  </div>
 
1189
  </div>
1190
  <div class="criteria-grid">
1191
  <div class="criteria-card">
1192
+ <h3>캐싱 기반 반복 평가</h3>
1193
  <ul>
1194
+ <li>실제 API 응답 캐싱</li>
1195
+ <li>'외부 API 불안정성, 정보 속성 불일치' 등 기존 벤치마크의 고질적 문제 해결</li>
1196
  <li>벤치마크의 일관성과 신뢰도 보장</li>
1197
  </ul>
1198
  </div>
1199
  <div class="criteria-card">
1200
  <h3>강건성 테스트</h3>
1201
  <ul>
1202
+ <li>의도된 오류 상황(상품 단종)의 오류 인식/대응 능력(전략) 평가</li>
1203
  <li>현실 환경에서도 안정적으로 작동하는 모델 선별</li>
1204
  </ul>
1205
  </div>
1206
  <div class="criteria-card">
1207
  <h3>단계별 고유 정밀 지표</h3>
1208
  <ul>
1209
+ <li>도구 선택, 파라미터 구성, 데이터 처리 흐름 등 각 단계의 문제 해결 효율성 평가</li>
1210
+ <li>모델의 강·약점 정량적으로 식별</li>
1211
  </ul>
1212
  </div>
1213
  </div>
 
1265
 
1266
  .domain-performance-container .domain-subtitle {
1267
  font-size: 1.05rem;
1268
+ max-width: 1000px;
1269
+ margin: 0 auto;
1270
+ }
1271
+
1272
+ .domain-performance-container .domain-subtitle_ {
1273
+ font-size: 1.07rem;
1274
+ max-width: 1000px;
1275
  margin: 0 auto;
1276
+ color: #bdbdbd;
1277
  }
1278
 
1279
+
1280
  .leaderboard-intro .domain-title,
1281
  .domain-performance-container > .domain-header .domain-title,
1282
  .performance-card-container > .domain-header .domain-title {
 
1305
 
1306
  .performance-card-container .domain-subtitle {
1307
  font-size: 1.05rem;
1308
+ max-width: 1000px;
1309
  margin: 0 auto;
1310
  }
1311
 
 
1971
  gr.HTML("""
1972
  <div class="domain-header">
1973
  <h2 class="domain-title" style="color: white;">🔍 Filters & Sorting</h2>
1974
+ <p class="domain-subtitle" style="color: white;">모델 유형과 정렬 기준을 선택해 원하는 방식으로 결과를 살펴보세요.</p>
1975
  </div>
1976
  """)
1977
  with gr.Row(elem_classes=["filters-sorting-row"]):
 
2010
  <div class="domain-selector-container domain-performance-container">
2011
  <div class="domain-header">
2012
  <h2 class="domain-title" style="color: white;">Core Capability Radar</h2>
2013
+ <p class="domain-subtitle_">#기초 수행력 #복합 추론력 #견고성 #맥락 효율성 #전반적 성공률 #기본적 유효성</p>
2014
+ <p class="domain-subtitle" style="color: white;">6대 핵심 역량을 통해 모델의 수행 능력과 균형도를 분석하세요.</p>
2015
  </div>
2016
  """)
2017
 
 
2019
  gr.HTML("""
2020
  <div class="domain-header">
2021
  <h2 class="domain-title" style="color: white;">🎯 Select Models for Comparison</h2>
2022
+ <p class="domain-subtitle" style="color: white;">레이더 차트에서 비교할 모델을 선택하세요.</p>
2023
  </div>
2024
  """)
2025
  model_selector = gr.Dropdown(
 
2051
  <div class="domain-selector-container domain-performance-container level-metrics-wrapper">
2052
  <div class="domain-header">
2053
  <h2 class="domain-title" style="color: white;">Level-Specific Metric Spotlight</h2>
2054
+ <p class="domain-subtitle" style="color: white;">L1~L7 단계별로 고유한 평가 지표를 기준으로 모델 점수를 비교해보세요.</p>
2055
  </div>
2056
  """)
2057
 
 
2059
  gr.HTML("""
2060
  <div class="domain-header">
2061
  <h2 class="domain-title" style="color: white;">🧭 Select Task Level and Models</h2>
2062
+ <p class="domain-subtitle" style="color: white;">L1~L7 단계와 모델을 선택해, SR 기반의 세부 지표를 탐색해보세요.
2063
+ </p>
2064
  </div>
2065
  """)
2066
  level_metric_selector = gr.Dropdown(
 
2098
  <div class="domain-selector-container domain-performance-container heatmap-wrapper">
2099
  <div class="domain-header">
2100
  <h2 class="domain-title" style="color: white;">Comprehensive Performance Heatmap</h2>
2101
+ <p class="domain-subtitle" style="color: white;">각 모델의 L1~L7 단계별 SR 점수를 한눈에 확인할 있는 종합 성능 히트맵을 살펴보세요.</p>
2102
  </div>
2103
  <div class="chart-container heatmap-chart-container">
2104
  """)
 
2351
  return 'N/A'
2352
  return f"{float(value):.3f}"
2353
 
2354
+ # Use the same order as the domain radar but keep '견고성' (Robustness) last
2355
  radar_metrics = [
2356
  ("기초 수행력", row.get('Execution Accuracy')),
 
 
2357
  ("맥락 효율성", row.get('Context & Efficiency')),
2358
  ("전반적 성공률", row.get('Overall Success')),
2359
+ ("견고성", row.get('Robustness')),
2360
+ ("복합 추론력", row.get('Complex Reasoning')),
2361
  ("기본적 유효성", row.get('Call Validity')),
2362
  ]
2363
  radar_values = []
 
2413
  <div class="core-section">
2414
  <div class="core-metric-grid">
2415
  """
2416
+ ordered_labels = ["기초 수행력", "맥락 효율성", "전반적 성공률", "견고성", "복합 추론력", "기본적 유효성"]
2417
  ordered_metrics = sorted(radar_metrics, key=lambda x: ordered_labels.index(x[0]) if x[0] in ordered_labels else len(ordered_labels))
2418
  top_metrics = ordered_metrics[:3]
2419
  bottom_metrics = ordered_metrics[3:]
 
2465
  <div class="domain-selector-container performance-card-container">
2466
  <div class="domain-header">
2467
  <h2 class="domain-title" style="color: white;">Model Performance Card</h2>
2468
+ <p class="domain-subtitle" style="color: white;">
2469
+ 모델의 성능 스펙트럼을 6대 핵심 지표와 L1~L7 단계�� 종합 성공률(SR)로 시각화한 정밀 분석 카드를 확인해보세요.
2470
+ </p>
2471
+ <p class="domain-note" style="color: #bdbdbd; font-size: 0.85em; margin-top: 4px;">
2472
+ ※ Rank는 L1~L7 단계별 SR의 평균값을 기준으로 산정되었습니다.
2473
+ </p>
2474
  </div>
2475
  <div class="performance-card-content">
2476
  """)
 
2491
  elem_classes=["model-dropdown"]
2492
  )
2493
  download_card_btn = gr.Button(
2494
+ "PNG로 다운로드",
2495
  elem_id="download-card-btn",
2496
  elem_classes=["pill-button"]
2497
  )
 
3039
  def create_domain_radar_chart(df, selected_models=None, max_models=5):
3040
  """Visualize six core capability metrics on a radar chart."""
3041
  df = df.copy()
3042
+ # Use the same metric order and Korean labels as the model performance card
3043
+ # Match the model card order but place '견고성' (Robustness) last as requested
3044
  metrics_info = [
3045
+ {"column": "Execution Accuracy", "label": "기초 수행력", "description": "CallEM · ArgAcc · SelectAcc"},
3046
+ {"column": "Context & Efficiency", "label": "맥락 효율성", "description": "ReuseRate · EffScore · ContextRetention"},
3047
+ {"column": "Overall Success", "label": "전반적 성공률", "description": "L1~L7의 평균 성공률"},
3048
+ {"column": "Robustness", "label": "견고성", "description": "AdaptiveRouting · FallbackSR"},
3049
+ {"column": "Complex Reasoning", "label": "복합 추론력", "description": "ProvAcc · PSM · Coverage"},
3050
+ {"column": "Call Validity", "label": "기본적 유효성", "description": "레벨별 EPR_CVR 평균"},
3051
  ]
3052
 
3053
  required_columns = [m["column"] for m in metrics_info]
 
3204
  autosize=True,
3205
  annotations=[
3206
  dict(
3207
+ text="Ko-Agent Leaderboard",
3208
  xref="paper", yref="paper",
3209
  x=0.98, y=0.02,
3210
  xanchor='right', yanchor='bottom',