Amir Mahla commited on
Commit
ea28352
·
1 Parent(s): 7803f5c

CLEAN image resources

Browse files
cua2-core/src/cua2_core/services/agent_service.py CHANGED
@@ -413,8 +413,9 @@ class AgentService:
413
 
414
  step_filename = f"{message_id}-{memory_step.step_number + 1}"
415
  screenshot_bytes = agent.desktop.screenshot()
416
- image = Image.open(BytesIO(screenshot_bytes))
417
- image = compress_image_to_max_size(image, max_size_kb=500)
 
418
 
419
  for previous_memory_step in (
420
  agent.memory.steps
 
413
 
414
  step_filename = f"{message_id}-{memory_step.step_number + 1}"
415
  screenshot_bytes = agent.desktop.screenshot()
416
+ original_image = Image.open(BytesIO(screenshot_bytes))
417
+ image = compress_image_to_max_size(original_image, max_size_kb=500)
418
+ del original_image
419
 
420
  for previous_memory_step in (
421
  agent.memory.steps
cua2-core/src/cua2_core/services/utils.py CHANGED
@@ -27,7 +27,9 @@ def compress_image_to_max_size(
27
  for compress_level in [3, 6, 9]:
28
  buffered = BytesIO()
29
  current_image.save(buffered, format="PNG", compress_level=compress_level)
30
- png_size = buffered.tell()
 
 
31
  if png_size <= max_size_bytes:
32
  # Size is acceptable, return the image as-is (it's already in PNG format when saved)
33
  return current_image
@@ -52,7 +54,9 @@ def compress_image_to_max_size(
52
  # Check PNG size with best compression
53
  buffered = BytesIO()
54
  resized_image.save(buffered, format="PNG", compress_level=9)
55
- png_size = buffered.tell()
 
 
56
 
57
  if png_size <= max_size_bytes:
58
  # Found acceptable size
 
27
  for compress_level in [3, 6, 9]:
28
  buffered = BytesIO()
29
  current_image.save(buffered, format="PNG", compress_level=compress_level)
30
+ png_bytes = buffered.getvalue()
31
+ buffered.close()
32
+ png_size = len(png_bytes)
33
  if png_size <= max_size_bytes:
34
  # Size is acceptable, return the image as-is (it's already in PNG format when saved)
35
  return current_image
 
54
  # Check PNG size with best compression
55
  buffered = BytesIO()
56
  resized_image.save(buffered, format="PNG", compress_level=9)
57
+ png_bytes = buffered.getvalue()
58
+ buffered.close()
59
+ png_size = len(png_bytes)
60
 
61
  if png_size <= max_size_bytes:
62
  # Found acceptable size