更新模型详细信息
(model_name)
| 450 | ) |
| 451 | |
| 452 | def update_model_details(model_name): |
| 453 | """更新模型详细信息""" |
| 454 | if not model_name: |
| 455 | return pd.DataFrame(), "" |
| 456 | |
| 457 | # 获取子类别详情 |
| 458 | subcategory_df = leaderboard.get_subcategory_details(model_name) |
| 459 | |
| 460 | # 获取模型基本信息 |
| 461 | for model in leaderboard.data.get("models", []): |
| 462 | if model.get("name") == model_name: |
| 463 | # 处理链接显示 |
| 464 | def format_link(name, url): |
| 465 | if url and url.strip(): |
| 466 | return f"[{name}]({url})" |
| 467 | return "Not provided" |
| 468 | |
| 469 | model_info_dict = model.get("model_info", {}) |
| 470 | results = model.get("results", {}) |
| 471 | |
| 472 | info_md = f""" |
| 473 | ### {model.get("name", "Unknown")} |
| 474 | |
| 475 | **👤 Submitter**: {model.get("submitter", "Unknown")} |
| 476 | **📅 Submission**: {model.get("submission_time", "")[:10] if model.get("submission_time") else "Unknown"} |
| 477 | **🏷️ Type**: {model.get("model_type", "Unknown")} |
| 478 | **📏 Size**: {model.get("model_size", "Unknown")} |
| 479 | **👁️ Multimodal**: {"Yes" if model.get("is_multimodal", False) else "No"} |
| 480 | |
| 481 | **📝 Description**: {model_info_dict.get("description", "") or "No description provided"} |
| 482 | |
| 483 | **🔗 Links**: |
| 484 | - **Homepage**: {format_link("Visit", model_info_dict.get("homepage", ""))} |
| 485 | - **Paper**: {format_link("Read", model_info_dict.get("paper", ""))} |
| 486 | - **Code**: {format_link("View", model_info_dict.get("code", ""))} |
| 487 | |
| 488 | **📊 Performance Summary**: |
| 489 | - **Overall**: {leaderboard._format_accuracy(results.get("overall_accuracy"))}% |
| 490 | - **Signal**: {leaderboard._format_accuracy(results.get("Signal", {}).get("accuracy"))}% |
| 491 | - **Perception**: {leaderboard._format_accuracy(results.get("Perception", {}).get("accuracy"))}% |
| 492 | - **Semantic**: {leaderboard._format_accuracy(results.get("Semantic", {}).get("accuracy"))}% |
| 493 | - **Generation**: {leaderboard._format_accuracy(results.get("Generation", {}).get("accuracy"))}% |
| 494 | """ |
| 495 | return subcategory_df, info_md |
| 496 | |
| 497 | return pd.DataFrame(), "" |
| 498 | |
| 499 | # 事件绑定 |
| 500 | for component in [model_type_filter, multimodal_filter, sort_by, ascending]: |
nothing calls this directly
no test coverage detected