Alex W. commited on
Commit
88f2eb5
·
1 Parent(s): f56c2df

改动点(相对旧版):

Browse files

改动 说明
init_db() 启动时建表,幂等安全
from db.schema import init_db 新增
from ui.tab_leaderboard/database import 新增
旧的占位 Tab 替换为真实 build_tab_leaderboard() / build_tab_database()
with gr.Tabs(): 包裹所有 Tab,结构更清晰
Tab1→Tab2 同步 保留原有逻辑

Files changed (1) hide show
  1. app.py +32 -11
app.py CHANGED
@@ -5,13 +5,23 @@ Wang's Five Laws — LLM Spectral Analyzer
5
  """
6
 
7
  import gradio as gr
 
8
  from ui.tab_inspect import build_tab_inspect
9
  from ui.tab_analyze import build_tab_analyze
 
 
10
 
 
 
 
 
 
 
 
 
11
 
12
  with gr.Blocks(
13
  title="Wang's Five Laws — LLM Spectral Analyzer",
14
- # theme=gr.themes.Soft()
15
  ) as demo:
16
 
17
  gr.Markdown("""
@@ -20,7 +30,7 @@ with gr.Blocks(
20
 
21
  通过 **HTTP Range Request** 直接读取 HF 权重,**无需下载整个模型**。
22
  自动识别模型结构(GQA / MHA / K=V共享 / 异构head_dim),
23
- 逐头计算王氏五定律全部指标。
24
 
25
  | 定律 | 指标 | 理论极值 |
26
  |------|------|---------|
@@ -35,19 +45,30 @@ with gr.Blocks(
35
  [![Wang's Law](https://img.shields.io/badge/Wang%27s%20Law-r%3D1-blue)](https://github.com/emis-framework/math-under-llm)
36
  """)
37
 
38
- # ── Tab1:结构探测 ────────────────────────────
39
- inspect_model_id, inspect_token = build_tab_inspect()
 
40
 
41
- # ── Tab2:分析 ───────────────────────────────
42
- analyze_model_id, analyze_token = build_tab_analyze()
43
 
44
- # ── 后续 Tab(Phase 2 完成后接入)────────────
45
- with gr.Tab("🏆 排行榜"):
46
- gr.Markdown("*即将推出:王氏评分排行榜(基于 SSR 指标)*")
47
 
48
- with gr.Tab("🗄️ 数据库"):
49
- gr.Markdown("*即将推出:历史分析结果浏览与导出*")
50
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
  if __name__ == "__main__":
53
  demo.launch()
 
5
  """
6
 
7
  import gradio as gr
8
+ from db.schema import init_db
9
  from ui.tab_inspect import build_tab_inspect
10
  from ui.tab_analyze import build_tab_analyze
11
+ from ui.tab_leaderboard import build_tab_leaderboard
12
+ from ui.tab_database import build_tab_database
13
 
14
+ # ── 启动时初始化数据库 ────────────────────────
15
+ # 幂等操作,重复调用安全
16
+ # /data 目录由 HF Space bucket 挂载,重启后数据不丢失
17
+ init_db()
18
+
19
+ # ─────────────────────────────────────────────
20
+ # 主界面
21
+ # ─────────────────────────────────────────────
22
 
23
  with gr.Blocks(
24
  title="Wang's Five Laws — LLM Spectral Analyzer",
 
25
  ) as demo:
26
 
27
  gr.Markdown("""
 
30
 
31
  通过 **HTTP Range Request** 直接读取 HF 权重,**无需下载整个模型**。
32
  自动识别模型结构(GQA / MHA / K=V共享 / 异构head_dim),
33
+ 逐头计算王氏五定律全部指标,结果持久化到 SQLite
34
 
35
  | 定律 | 指标 | 理论极值 |
36
  |------|------|---------|
 
45
  [![Wang's Law](https://img.shields.io/badge/Wang%27s%20Law-r%3D1-blue)](https://github.com/emis-framework/math-under-llm)
46
  """)
47
 
48
+ with gr.Tabs():
49
+ # Tab1:结构探测
50
+ inspect_model_id, inspect_token = build_tab_inspect()
51
 
52
+ # Tab2:分析(含数据库写入 + 断点续传)
53
+ analyze_model_id, analyze_token = build_tab_analyze()
54
 
55
+ # Tab3:王氏评分排行榜
56
+ build_tab_leaderboard()
 
57
 
58
+ # Tab4:数据库浏览
59
+ build_tab_database()
60
 
61
+ # ── Tab1 → Tab2 同步模型 ID 和 token ─────────
62
+ inspect_model_id.change(
63
+ fn=lambda x: x,
64
+ inputs=inspect_model_id,
65
+ outputs=analyze_model_id,
66
+ )
67
+ inspect_token.change(
68
+ fn=lambda x: x,
69
+ inputs=inspect_token,
70
+ outputs=analyze_token,
71
+ )
72
 
73
  if __name__ == "__main__":
74
  demo.launch()