stzhao commited on
Commit
3da0880
·
verified ·
1 Parent(s): 7d92f9c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -4
app.py CHANGED
@@ -99,7 +99,7 @@ def update_messages_with_text(messages, generated_content):
99
  messages.append(message_item)
100
  return messages
101
 
102
- def call_chatgpt_api(messages, client, max_tokens=10000, stop=None, temperature=1.1):
103
  """Call ChatGPT API with the given messages"""
104
  try:
105
  response = client.chat.completions.create(
@@ -254,7 +254,11 @@ def o3_chat(api_key, base_url, question, image):
254
  messages = evaluate_single_data(data, client, executor, prompt_template, prompt_type)
255
  print(messages)
256
  html_output = process_message(messages)
257
- return html_output
 
 
 
 
258
 
259
  # Gradio界面
260
  def create_demo():
@@ -272,11 +276,37 @@ def create_demo():
272
 
273
  with gr.Row():
274
  output = gr.HTML(label="Response")
 
 
 
 
275
 
276
- submit_btn.click(
 
277
  fn=o3_chat,
278
  inputs=[api_key, base_url, question, image_input],
279
- outputs=[output]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
280
  )
281
 
282
  gr.Markdown("""
@@ -294,3 +324,4 @@ if __name__ == "__main__":
294
  demo = create_demo()
295
  demo.launch()
296
 
 
 
99
  messages.append(message_item)
100
  return messages
101
 
102
+ def call_chatgpt_api(messages, client, max_tokens=10000, stop=None, temperature=1.0):
103
  """Call ChatGPT API with the given messages"""
104
  try:
105
  response = client.chat.completions.create(
 
254
  messages = evaluate_single_data(data, client, executor, prompt_template, prompt_type)
255
  print(messages)
256
  html_output = process_message(messages)
257
+
258
+ # 将消息转换为JSON字符串,用于下载
259
+ json_str = json.dumps(messages, ensure_ascii=False, indent=4)
260
+
261
+ return html_output, json_str
262
 
263
  # Gradio界面
264
  def create_demo():
 
276
 
277
  with gr.Row():
278
  output = gr.HTML(label="Response")
279
+
280
+ # 添加JSON下载功能
281
+ json_output = gr.JSON(label="Messages JSON", visible=False)
282
+ download_btn = gr.Button("Download Messages as JSON")
283
 
284
+ # 处理提交
285
+ result = submit_btn.click(
286
  fn=o3_chat,
287
  inputs=[api_key, base_url, question, image_input],
288
+ outputs=[output, json_output]
289
+ )
290
+
291
+ # 添加下载功能
292
+ download_btn.click(
293
+ fn=lambda x: x,
294
+ inputs=[json_output],
295
+ outputs=[],
296
+ _js="""
297
+ function(json_str) {
298
+ const blob = new Blob([JSON.stringify(json_str, null, 2)], { type: 'application/json' });
299
+ const url = URL.createObjectURL(blob);
300
+ const a = document.createElement('a');
301
+ a.href = url;
302
+ a.download = 'messages_' + new Date().toISOString().replace(/[:.]/g, '-') + '.json';
303
+ document.body.appendChild(a);
304
+ a.click();
305
+ document.body.removeChild(a);
306
+ URL.revokeObjectURL(url);
307
+ return [];
308
+ }
309
+ """
310
  )
311
 
312
  gr.Markdown("""
 
324
  demo = create_demo()
325
  demo.launch()
326
 
327
+