m-ric HF Staff commited on
Commit
771c16d
·
1 Parent(s): dc86104

Really working logs

Browse files
Files changed (1) hide show
  1. app.py +17 -16
app.py CHANGED
@@ -451,17 +451,11 @@ def chat_message_to_json(obj):
451
  return obj
452
 
453
 
454
- def save_final_status(folder, status: str, memory, error_message = None) -> None:
455
  metadata_path = os.path.join(folder, "metadata.json")
456
- output = {}
457
- # THIS ERASES IMAGES FROM MEMORY, USE WITH CAUTION
458
- for memory_step in memory.steps:
459
- if getattr(memory_step, "observations_images", None):
460
- memory_step.observations_images = None
461
- a = open(metadata_path,"w")
462
- summary = memory.get_succinct_steps()
463
- a.write(json.dumps({"status":status, "summary":summary, "error_message": error_message}, default=chat_message_to_json))
464
- a.close()
465
 
466
  def initialize_session(interactive_mode, request: gr.Request):
467
  session_hash = request.session_hash
@@ -504,9 +498,12 @@ class EnrichedGradioUI(GradioUI):
504
  os.makedirs(data_dir)
505
 
506
 
507
- if "agent" not in session_state:
 
 
508
  session_state["agent"] = create_agent(data_dir=data_dir, desktop=desktop)
509
 
 
510
  # Construct the full task with instructions
511
  full_task = task_input + dedent(f"""
512
  The desktop has a resolution of {WIDTH}x{HEIGHT}, take it into account to decide clicking coordinates.
@@ -536,7 +533,13 @@ class EnrichedGradioUI(GradioUI):
536
  yield stored_messages
537
 
538
  yield stored_messages
539
- save_final_status(data_dir, "completed", memory = session_state["agent"].memory)
 
 
 
 
 
 
540
 
541
  # # TODO: uncomment below after testing
542
  except Exception as e:
@@ -544,7 +547,7 @@ class EnrichedGradioUI(GradioUI):
544
  stored_messages.append(gr.ChatMessage(role="assistant", content=error_message))
545
  yield stored_messages
546
  raise e
547
- save_final_status(data_dir, "failed", summary={}, error_message=error_message)
548
 
549
  finally:
550
  upload_to_hf_and_remove(data_dir)
@@ -708,14 +711,12 @@ with gr.Blocks(theme=theme, css=custom_css, js=custom_js, fill_width=True) as de
708
  fn=clear_and_set_view_only,
709
  inputs=[task_input],
710
  outputs=[results_output, sandbox_html, results_container]
711
- )
712
- view_only_event.then(agent_ui.interact_with_agent, [task_input, stored_messages, session_state, session_hash_state], [chatbot_display]).then(
713
  fn=set_interactive,
714
  inputs=[],
715
  outputs=sandbox_html
716
  )
717
 
718
-
719
  demo.load(
720
  fn=initialize_session,
721
  inputs=[is_interactive],
 
451
  return obj
452
 
453
 
454
+ def save_final_status(folder, status: str, summary, error_message = None) -> None:
455
  metadata_path = os.path.join(folder, "metadata.json")
456
+ output_file = open(metadata_path,"w")
457
+ output_file.write(json.dumps({"status":status, "summary":summary, "error_message": error_message}, default=chat_message_to_json))
458
+ output_file.close()
 
 
 
 
 
 
459
 
460
  def initialize_session(interactive_mode, request: gr.Request):
461
  session_hash = request.session_hash
 
498
  os.makedirs(data_dir)
499
 
500
 
501
+ if "agent" in session_state:
502
+ session_state["agent"].data_dir = data_dir # Update data dir to new interaction
503
+ else:
504
  session_state["agent"] = create_agent(data_dir=data_dir, desktop=desktop)
505
 
506
+
507
  # Construct the full task with instructions
508
  full_task = task_input + dedent(f"""
509
  The desktop has a resolution of {WIDTH}x{HEIGHT}, take it into account to decide clicking coordinates.
 
533
  yield stored_messages
534
 
535
  yield stored_messages
536
+ # THIS ERASES IMAGES FROM MEMORY, USE WITH CAUTION
537
+ memory = session_state["agent"].memory
538
+ for memory_step in memory.steps:
539
+ if getattr(memory_step, "observations_images", None):
540
+ memory_step.observations_images = None
541
+ summary = memory.get_succinct_steps()
542
+ save_final_status(data_dir, "completed", summary = summary)
543
 
544
  # # TODO: uncomment below after testing
545
  except Exception as e:
 
547
  stored_messages.append(gr.ChatMessage(role="assistant", content=error_message))
548
  yield stored_messages
549
  raise e
550
+ save_final_status(data_dir, "failed", summary=[], error_message=error_message)
551
 
552
  finally:
553
  upload_to_hf_and_remove(data_dir)
 
711
  fn=clear_and_set_view_only,
712
  inputs=[task_input],
713
  outputs=[results_output, sandbox_html, results_container]
714
+ ).then(agent_ui.interact_with_agent, [task_input, stored_messages, session_state, session_hash_state], [chatbot_display]).then(
 
715
  fn=set_interactive,
716
  inputs=[],
717
  outputs=sandbox_html
718
  )
719
 
 
720
  demo.load(
721
  fn=initialize_session,
722
  inputs=[is_interactive],