adddrett commited on
Commit
b6512d2
·
1 Parent(s): 9fce90e
Files changed (1) hide show
  1. README.md +9 -245
README.md CHANGED
@@ -1,246 +1,10 @@
1
- # 📊 图表问答数据集审核系统
2
-
3
-
4
- 一个基于 Gradio 的人工审核系统,用于审核图表问答数据集中的问题和答案是否合理正确。
5
-
6
- ## 功能特点
7
-
8
- - 📊 **图表展示**:支持 HTML 格式的交互式图表展示
9
- - 📁 **目录导航**:按 Source → Chart Type → Chart → Model 层级浏览
10
- - ✅ **审核操作**:支持正确、错误、需修改、待定四种状态
11
- - ✏️ **内容编辑**:可修改问题和答案,添加评论备注
12
- - 📈 **统计面板**:实时显示审核进度和统计信息
13
- - 📥 **数据导出**:一键导出审核记录为 JSON 格式
14
- - ⌨️ **快捷键**:支持键盘导航和状态选择
15
-
16
- ## 目录结构
17
-
18
- ```
19
- project/
20
- ├── app.py # 主应用
21
- ├── data_manager.py # 数据管理模块
22
- ├── requirements.txt # 依赖列表
23
- ├── README.md # 说明文档
24
- ├── create_sample_data.py # 示例数据生成脚本
25
-
26
- ├── dataset/ # 数据集目录(需要自行放置)
27
- │ ├── web/ # 图表 HTML 文件
28
- │ │ └── {source}/
29
- │ │ └── {chart_type}/
30
- │ │ └── *.html
31
- │ ├── label/ # 图表标签信息
32
- │ │ └── {source}/
33
- │ │ └── {chart_type}/
34
- │ │ └── *.json
35
- │ └── question_answer/ # QA 数据
36
- │ └── {source}/
37
- │ └── {chart_type}/
38
- │ └── {model}/
39
- │ └── *.json
40
-
41
- └── reviews/ # 审核记录(自动创建)
42
- └── reviews.json
43
- ```
44
-
45
- ## 数据格式
46
-
47
- ### Label JSON 格式
48
- ```json
49
- {
50
- "Number": "0001",
51
- "Type": "bar",
52
- "Source": "Apache Echarts",
53
- "Weblink": "https://example.com/chart",
54
- "Topic": "Weather Statistics by City",
55
- "Describe": "The chart compares...",
56
- "Other": ""
57
- }
58
- ```
59
-
60
- ### QA JSON 格式
61
- ```json
62
- {
63
- "id": "chart_0001_bar_q1",
64
- "chart": "chart_0001_bar",
65
- "question": "Weather Statistics图表中,三个城市在Showers天气下的总天数是多少?",
66
- "answer": "203"
67
- }
68
- ```
69
-
70
- ### 审核记录格式
71
- ```json
72
- {
73
- "review_id": "uuid",
74
- "chart_id": "chart_0001_bar",
75
- "qa_id": "chart_0001_bar_q1",
76
- "source": "Apache Echarts",
77
- "chart_type": "bar",
78
- "model": "gpt-4",
79
- "original_question": "...",
80
- "original_answer": "...",
81
- "status": "correct",
82
- "modified_question": "",
83
- "modified_answer": "",
84
- "issue_type": "",
85
- "comment": "",
86
- "reviewer": "default",
87
- "review_time": "2024-01-01T00:00:00"
88
- }
89
- ```
90
-
91
- ## 快速开始
92
-
93
- ### 1. 安装依赖
94
-
95
- ```bash
96
- pip install -r requirements.txt
97
- ```
98
-
99
- ### 2. 生成示例数据(可选)
100
-
101
- 如果你想先测试系统,可以运行以下命令生成示例数据:
102
-
103
- ```bash
104
- python create_sample_data.py
105
- ```
106
-
107
- ### 3. 准备数据集
108
-
109
- 将你的数据集放置到 `dataset/` 目录下,按照上述目录结构组织。
110
-
111
- ### 4. 启动应用
112
-
113
- ```bash
114
- python app.py
115
- ```
116
-
117
- 应用将在 `http://localhost:7860` 启动。
118
-
119
- ## 快捷键
120
-
121
- | 按键 | 功能 |
122
- |------|------|
123
- | ← | 上一个图表 |
124
- | → | 下一个图表 |
125
- | 1 | 标记为正确 |
126
- | 2 | 标记为错误 |
127
- | 3 | 标记为需修改 |
128
- | 4 | 标记为待定 |
129
-
130
- ## 部署到 Hugging Face Spaces
131
-
132
- ### 方法 1:通过网页界面上传
133
-
134
- 1. 在 Hugging Face 创建一个新的 Space
135
- 2. 选择 "Gradio" 作为 SDK
136
- 3. 上传所有文件:
137
- - `app.py`
138
- - `data_manager.py`
139
- - `requirements.txt`
140
- - `README.md`(可选)
141
- 4. 在 Files 标签页创建 `dataset/` 目录结构
142
- 5. 上传你的数据集文件
143
-
144
- ### 方法 2:通过 Git 推送
145
-
146
- ```bash
147
- # 1. 创建 Space(在 Hugging Face 网站上操作)
148
-
149
- # 2. 克隆 Space
150
- git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
151
- cd YOUR_SPACE_NAME
152
-
153
- # 3. 复制项目文件
154
- cp /path/to/gradio-review-app/app.py .
155
- cp /path/to/gradio-review-app/data_manager.py .
156
- cp /path/to/gradio-review-app/requirements.txt .
157
-
158
- # 4. 创建数据集目录结构
159
- mkdir -p dataset/web dataset/label dataset/question_answer
160
-
161
- # 5. 复制数据集
162
- # 根据你的数据集结构复制相应文件
163
-
164
- # 6. 提交并推送
165
- git add .
166
- git commit -m "Initial commit with dataset"
167
- git push
168
- ```
169
-
170
- ### 方法 3:使用 Hugging Face Datasets(推荐大数据集)
171
-
172
- 如果数据集较大,建议将数据集上传为独立的 Dataset,然后在代码中加载:
173
-
174
- ```python
175
- from datasets import load_dataset
176
-
177
- # 在 app.py 中添加
178
- dataset = load_dataset("YOUR_USERNAME/YOUR_DATASET_NAME")
179
- ```
180
-
181
- ## 注意事项
182
-
183
- ### 关于 Hugging Face Spaces
184
-
185
- - **免费版限制**:免费版 Spaces 有存储限制(约 16GB)和 CPU 时间限制
186
- - **持久化问题**:免费版 Spaces 重启后文件修改会丢失
187
- - **解决方案**:
188
- 1. 定期导出审核记录并下载
189
- 2. 使用 Hugging Face Datasets 存储审核结果
190
- 3. 使用外部数据库(如 Supabase、PlanetScale 免费套餐)
191
-
192
- ### 关于审核记录持久化
193
-
194
- 审��记录保存在 `reviews/reviews.json` 文件中。为了防止数据丢失:
195
-
196
- 1. **定期导出**:使用界面上的"导出审核记录"按钮
197
- 2. **云存储同步**:可以配置自动同步到云存储
198
- 3. **外部数据库**:修改 `data_manager.py` 使用数据库存储
199
-
200
- ## 自定义扩展
201
-
202
- ### 添加新的问题类型
203
-
204
- 在 `app.py` 中修改 `issue_type_dropdown` 的 choices:
205
-
206
- ```python
207
- issue_type_dropdown = gr.Dropdown(
208
- label="问题类型",
209
- choices=[
210
- "问题歧义",
211
- "答案错误",
212
- "图表不清晰",
213
- "问题不合理",
214
- "答案格式错误",
215
- "你的新类型", # 添加新类型
216
- "其他"
217
- ],
218
- ...
219
- )
220
- ```
221
-
222
- ### 添加新的审核状态
223
-
224
- 在 `app.py` 中修改 `status_radio` 的 choices:
225
-
226
- ```python
227
- status_radio = gr.Radio(
228
- label="审核状态",
229
- choices=[
230
- ("✅ 正确", "correct"),
231
- ("❌ 错误", "incorrect"),
232
- ("✏️ 需修改", "needs_modification"),
233
- ("⏳ 待定", "pending"),
234
- ("🆕 你的新状态", "new_status"), # 添加新状态
235
- ],
236
- ...
237
- )
238
- ```
239
-
240
- ## 许可证
241
-
242
- MIT License
243
-
244
  ---
245
-
246
- 如有问题或建议,欢迎提 Issue 或 PR!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: Chart QA Review System
3
+ emoji: 📊
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: gradio
7
+ sdk_version: "4.44.0"
8
+ app_file: app.py
9
+ pinned: false
10
+ ---