stzhao commited on
Commit
642c21f
·
verified ·
1 Parent(s): 2f21a41

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -2
app.py CHANGED
@@ -240,6 +240,47 @@ def evaluate_single_data(model_name, data, client, executor, prompt_template, pr
240
 
241
  return messages
242
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
  def process_message(messages):
244
  # 创建HTML输出
245
  html_output = '<div style="color: black;">' # 添加一个包裹所有内容的div,设置文本颜色为黑色
@@ -302,8 +343,10 @@ def o3_chat(model_name, api_key, base_url, question, image):
302
 
303
  # 将消息转换为JSON字符串,用于下载
304
  json_str = json.dumps(messages, ensure_ascii=False, indent=4)
 
 
305
 
306
- return html_output
307
 
308
  # Gradio界面
309
  def create_demo():
@@ -327,12 +370,15 @@ def create_demo():
327
 
328
  with gr.Row():
329
  output = gr.HTML(label="Response")
 
 
 
330
 
331
  # 处理提交
332
  submit_btn.click(
333
  fn=o3_chat,
334
  inputs=[model_name, api_key, base_url, question, image_input],
335
- outputs=[output]
336
  )
337
 
338
  # 示例部分
 
240
 
241
  return messages
242
 
243
+ def process_message_to_sharegpt_format(message):
244
+
245
+ for i, message_item in enumerate(message):
246
+ role = message_item['role']
247
+
248
+ content_list = message_item['content']
249
+ whole_content = ""
250
+ for content_item in content_list:
251
+ content_type = content_item['type']
252
+ if content_type == "text":
253
+ content_value = content_item['text']
254
+ whole_content += content_value
255
+ elif content_type == "image_url":
256
+ content_value = content_item['image_url']['url']
257
+ whole_content += "<image>"
258
+ # image_path = os.path.join(sub_images_save_folder_path, f"{image_idx}.png")
259
+ image = base64_to_image(content_value)
260
+ if image:
261
+ # image.save(image_path)
262
+ # sharegpt_images.append(image_path)
263
+ sharegpt_images.append(image)
264
+ image_idx += 1
265
+
266
+ if i == 0:
267
+ sharegpt_conversation.append({"from": "human", "value": whole_content})
268
+ continue
269
+
270
+ if "<interpreter>" in whole_content:
271
+ gpt_content, observation_content = whole_content.split("<interpreter>", -1)
272
+ sharegpt_conversation.append({"from": "gpt", "value": gpt_content})
273
+ sharegpt_conversation.append({"from": "observation", "value": "<interpreter>"+observation_content})
274
+ elif i != 0:
275
+ sharegpt_conversation.append({"from": "gpt", "value": whole_content})
276
+
277
+ sharegpt_data_item = {
278
+ "conversations": sharegpt_conversation,
279
+ "images": sharegpt_images
280
+ }
281
+
282
+ return sharegpt_data_item
283
+
284
  def process_message(messages):
285
  # 创建HTML输出
286
  html_output = '<div style="color: black;">' # 添加一个包裹所有内容的div,设置文本颜色为黑色
 
343
 
344
  # 将消息转换为JSON字符串,用于下载
345
  json_str = json.dumps(messages, ensure_ascii=False, indent=4)
346
+
347
+ sharegpt_data_item = process_message_to_sharegpt_format(messages)
348
 
349
+ return html_output, sharegpt_data_item['images']
350
 
351
  # Gradio界面
352
  def create_demo():
 
370
 
371
  with gr.Row():
372
  output = gr.HTML(label="Response")
373
+
374
+ with gr.Row():
375
+ extracted_images = gr.Gallery(label="Extracted Images")
376
 
377
  # 处理提交
378
  submit_btn.click(
379
  fn=o3_chat,
380
  inputs=[model_name, api_key, base_url, question, image_input],
381
+ outputs=[output, extracted_images]
382
  )
383
 
384
  # 示例部分