ynhe commited on
Commit
2dff84c
·
verified ·
1 Parent(s): 6b6beca

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -8
app.py CHANGED
@@ -115,12 +115,46 @@ def display_videos(type, prompt, model_name_1, model_name_2):
115
 
116
  def record_user_feedback_a(model_name1, model_name2, type, prompt):
117
  # 0 means model A better, 1 means model B better
118
- with open("user_feedback.csv",'a') as f:
 
 
 
 
 
 
119
  f.write(f"{model_name1}\t{model_name2}\t{type}\t{prompt}\t{0}\n")
 
 
 
 
 
 
 
 
 
 
120
  def record_user_feedback_b(model_name1, model_name2, type, prompt):
121
  # 0 means model A better, 1 means model B better
122
- with open("user_feedback.csv",'a') as f:
 
 
 
 
 
 
123
  f.write(f"{model_name1}\t{model_name2}\t{type}\t{prompt}\t{1}\n")
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
  with gr.Blocks() as interface:
126
  gr.Markdown("# VBench Video Arena")
@@ -144,8 +178,8 @@ If you are interested, you can also leave your comments.""")
144
  model_name_2_output = gr.Dropdown(label="Model Name 2", choices=model_names, value=model_names[1])
145
  video_output_2 = gr.Video(label="Video 2")
146
  with gr.Row():
147
- feed0 = gr.Button("👈 Model A is better")
148
- feed1 = gr.Button("👉 Model B is better")
149
  type_output.change(fn=update_prompt_options, inputs=[type_output], outputs=[prompt_output])
150
 
151
 
@@ -154,9 +188,14 @@ If you are interested, you can also leave your comments.""")
154
  outputs=[video_output_1, video_output_2,model_name_1_output, model_name_2_output, type_output, prompt_placeholder]
155
  ).then(fn=update_prompt_options,
156
  inputs=[type_output],
157
- outputs=[prompt_output]).then(fn=update_prompt_options,
 
158
  inputs=[type_output,prompt_placeholder],
159
- outputs=[prompt_output])
 
 
 
 
160
 
161
 
162
  display_button.click(
@@ -167,11 +206,13 @@ If you are interested, you can also leave your comments.""")
167
 
168
  feed0.click(
169
  fn = record_user_feedback_a,
170
- inputs=[model_name_1_output, model_name_2_output, type_output, prompt_placeholder]
 
171
  )
172
  feed1.click(
173
  fn = record_user_feedback_b,
174
- inputs=[model_name_1_output, model_name_2_output, type_output, prompt_placeholder]
 
175
  )
176
 
177
  interface.launch()
 
115
 
116
  def record_user_feedback_a(model_name1, model_name2, type, prompt):
117
  # 0 means model A better, 1 means model B better
118
+ hf_api.hf_hub_download(
119
+ repo_id = "Vchitect/VBench_human_annotation",
120
+ filename = "arena_feedback.csv",
121
+ repo_type = "dataset",
122
+ local_dir = './'
123
+ )
124
+ with open("arena_feedback.csv",'a') as f:
125
  f.write(f"{model_name1}\t{model_name2}\t{type}\t{prompt}\t{0}\n")
126
+ hf_api.upload_file(
127
+ path_or_fileobj="arena_feedback.csv",
128
+ path_in_repo="arena_feedback.csv",
129
+ repo_id="Vchitect/VBench_human_annotation",
130
+ token=hf_token,
131
+ repo_type="dataset",
132
+ commit_message="[From VBench Arena] user feedback",
133
+ )
134
+ return gr.update(visible=False),gr.update(visible=False)
135
+
136
  def record_user_feedback_b(model_name1, model_name2, type, prompt):
137
  # 0 means model A better, 1 means model B better
138
+ hf_api.hf_hub_download(
139
+ repo_id = "Vchitect/VBench_human_annotation",
140
+ filename = "arena_feedback.csv",
141
+ repo_type = "dataset",
142
+ local_dir = './'
143
+ )
144
+ with open("arena_feedback.csv",'a') as f:
145
  f.write(f"{model_name1}\t{model_name2}\t{type}\t{prompt}\t{1}\n")
146
+ hf_api.upload_file(
147
+ path_or_fileobj="arena_feedback.csv",
148
+ path_in_repo="arena_feedback.csv",
149
+ repo_id="Vchitect/VBench_human_annotation",
150
+ token=hf_token,
151
+ repo_type="dataset",
152
+ commit_message="[From VBench Arena] user feedback",
153
+ )
154
+ return gr.update(visible=False),gr.update(visible=False)
155
+
156
+ def show_feedback_button():
157
+ return gr.update(visible=True),gr.update(visible=True)
158
 
159
  with gr.Blocks() as interface:
160
  gr.Markdown("# VBench Video Arena")
 
178
  model_name_2_output = gr.Dropdown(label="Model Name 2", choices=model_names, value=model_names[1])
179
  video_output_2 = gr.Video(label="Video 2")
180
  with gr.Row():
181
+ feed0 = gr.Button("👈 Model A is better",visible=False)
182
+ feed1 = gr.Button("👉 Model B is better",visible=False)
183
  type_output.change(fn=update_prompt_options, inputs=[type_output], outputs=[prompt_output])
184
 
185
 
 
188
  outputs=[video_output_1, video_output_2,model_name_1_output, model_name_2_output, type_output, prompt_placeholder]
189
  ).then(fn=update_prompt_options,
190
  inputs=[type_output],
191
+ outputs=[prompt_output]
192
+ ).then(fn=update_prompt_options,
193
  inputs=[type_output,prompt_placeholder],
194
+ outputs=[prompt_output]
195
+ ).then(
196
+ fn= show_feedback_button,
197
+ outputs=[feed0, feed1]
198
+ )
199
 
200
 
201
  display_button.click(
 
206
 
207
  feed0.click(
208
  fn = record_user_feedback_a,
209
+ inputs=[model_name_1_output, model_name_2_output, type_output, prompt_placeholder],
210
+ outputs=[feed0, feed1]
211
  )
212
  feed1.click(
213
  fn = record_user_feedback_b,
214
+ inputs=[model_name_1_output, model_name_2_output, type_output, prompt_placeholder],
215
+ outputs=[feed0, feed1]
216
  )
217
 
218
  interface.launch()