thliang01 commited on
Commit
ec69f48
·
unverified ·
1 Parent(s): 4dc76ef

docs: Add README

Browse files
Files changed (1) hide show
  1. README.md +98 -4
README.md CHANGED
@@ -12,9 +12,103 @@ short_description: Twinkle Eval:高效且準確的 AI 評測工具
12
  license: mit
13
  ---
14
 
15
- # Welcome to Streamlit!
16
 
17
- Edit `/src/streamlit_app.py` to customize this app to your heart's desire. :heart:
18
 
19
- If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
20
- forums](https://discuss.streamlit.io).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  license: mit
13
  ---
14
 
15
+ # 🌟 Eval Analyzer
16
 
17
+ 一個基於 🎈 **Streamlit** 的互動式工具,用來分析 **[Twinkle Eval](https://github.com/ai-twinkle/Eval)** 格式的評估檔案(`.json` / `.jsonl`)。
18
 
19
+ ## 📌 功能特色
20
+
21
+ <p align="center">
22
+ <img src="https://github.com/ai-twinkle/llm-lab/blob/main/courses/2025-0827-llm-eval-with-twinkle/assets/gpt-oss-120b-mmlu-eval-report.png?raw=1" width="100%"/><br/>
23
+ <em>圖:gpt-oss-120b 在 MMLU 部分子集上的表現成績預覽</em>
24
+ </p>
25
+
26
+ - 支援上傳多個 **Twinkle Eval 檔案**(`json` / `jsonl`)。
27
+ - 自動解析評估結果,抽取:
28
+ - `dataset`
29
+ - `category`
30
+ - `file`
31
+ - `accuracy_mean`
32
+ - `source_label`(模型名稱 + timestamp)
33
+ - 提供整體平均值的計算,缺漏時自動補足。
34
+ - 視覺化:
35
+ - 各類別的柱狀圖(依模型分組對照)。
36
+ - 可選擇排序方式(平均由高→低、平均由低→高、字母排序)。
37
+ - 支援分頁顯示(自訂每頁顯示類別數量)。
38
+ - 指標可切換為原始值或 0–100 比例。
39
+ - 支援 **CSV 匯出**(下載分頁結果)。
40
+
41
+ ## 🚀 使用方式
42
+
43
+ ### 1. 安裝環境
44
+ 建議使用虛擬環境(如 `venv` 或 `conda`):
45
+
46
+ ```bash
47
+ pip install -r requirements.txt
48
+ ```
49
+ ### 2. 啟動應用程式
50
+ ```bash
51
+ streamlit run app.py
52
+ ```
53
+
54
+ ### 3. 操作流程
55
+ 1. 在左側 Sidebar 上傳一個或多個 **Twinkle Eval 檔案**。
56
+ 2. 選擇要查看的資料集。
57
+ 3. 設定排序方式、分頁大小、顯示比例(0–1 或 0–100)。
58
+ 4. 查看圖表與資料表,並可下載 CSV。
59
+
60
+ ## 📂 檔案格式要求
61
+ 每份 json / jsonl 檔案需符合 Twinkle Eval 格式,至少包含以下欄位:
62
+
63
+ ```json
64
+ {
65
+ "timestamp": "2025-08-20T10:00:00",
66
+ "config": {
67
+ "model": { "name": "my-model" }
68
+ },
69
+ "dataset_results": {
70
+ "datasets/my_dataset": {
71
+ "average_accuracy": 0.85,
72
+ "results": [
73
+ {
74
+ "file": "category1.json",
75
+ "accuracy_mean": 0.9
76
+ },
77
+ {
78
+ "file": "category2.json",
79
+ "accuracy_mean": 0.8
80
+ }
81
+ ]
82
+ }
83
+ }
84
+ }
85
+ ```
86
+ 或者可以到 Twinkle AI [Eval logs](https://huggingface.co/collections/twinkle-ai/eval-logs-6811a657da5ce4cbd75dbf50) collections 下載範例。
87
+
88
+ ## ⚠️ 檔案格式相容性注意事項
89
+
90
+ **重要提醒**:此工具目前支援特定的 JSON/JSONL 格式。來自外部資料集(如 Hugging Face 儲存庫)的檔案可能無法直接相容。
91
+
92
+ ### 常見問題
93
+ - **缺少必要欄位**:缺少 `config` 或 `dataset_results` 欄位的檔案將無法載入
94
+ - **錯誤的檔案命名**:請使用 `results_*.json` 而非 `eval_results_*.jsonl` 格式
95
+ - **外部資料集格式**:來自其他工具或儲存庫的評估日誌可能使用不同的架構
96
+ - **欄位命名**:不同的欄位名稱(例如 `accuracy` vs `accuracy_mean`)可能導致解析錯誤
97
+
98
+ ### 疑難排解
99
+ 如果遇到「缺少必要欄位」錯誤:
100
+ 1. 確認您的檔案包含所有必要的頂層欄位
101
+ 2. 檢查巢狀物件是否遵循預期結構
102
+ 3. 對於外部資料集,考慮建立轉換腳本或[提出議題](https://github.com/ai-twinkle/eval-analyzer/issues)請求格式支援
103
+
104
+ ### 貢獻
105
+ 我們歡迎支援額外格式的貢獻!請參閱我們的[貢獻指南](CONTRIBUTING.md)或提交功能請求。
106
+
107
+ ## 📊 輸出範例
108
+
109
+ - **圖表**:顯示各模型在不同類別的 accuracy_mean 比較。
110
+ - **表格**:Pivot Table,行為類別,列為模型,值為 accuracy。
111
+ - **下載**:每頁結果可匯出成 CSV。
112
+
113
+ ## 📄 License
114
+ MIT