Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Clarify logs
Browse files- e2bqwen.py +18 -26
e2bqwen.py
CHANGED
@@ -113,7 +113,6 @@ class E2BVisionAgent(CodeAgent):
|
|
113 |
# Set up temp directory
|
114 |
os.makedirs(self.data_dir, exist_ok=True)
|
115 |
print(f"Screenshots and steps will be saved to: {self.data_dir}")
|
116 |
-
print(f"Verbosity level set to {verbosity_level}")
|
117 |
|
118 |
# Initialize base agent
|
119 |
super().__init__(
|
@@ -133,11 +132,9 @@ class E2BVisionAgent(CodeAgent):
|
|
133 |
|
134 |
|
135 |
# Add default tools
|
136 |
-
self._setup_desktop_tools()
|
137 |
self.logger.log("Setting up agent tools...")
|
|
|
138 |
self.step_callbacks.append(self.take_screenshot_callback)
|
139 |
-
self.logger.log("Studying an action plan... that will take a bit.")
|
140 |
-
|
141 |
self.final_answer_checks = [self.store_metadata_to_file]
|
142 |
|
143 |
def _setup_desktop_tools(self):
|
@@ -316,7 +313,6 @@ class E2BVisionAgent(CodeAgent):
|
|
316 |
self.logger.log(self.log_path, "Analyzing screen content...")
|
317 |
|
318 |
current_step = memory_step.step_number
|
319 |
-
print(f"Taking screenshot for step {current_step}")
|
320 |
|
321 |
time.sleep(2.0) # Let things happen on the desktop
|
322 |
screenshot_bytes = self.desktop.screenshot()
|
@@ -325,7 +321,7 @@ class E2BVisionAgent(CodeAgent):
|
|
325 |
# Create a filename with step number
|
326 |
screenshot_path = os.path.join(self.data_dir, f"step_{current_step:03d}.png")
|
327 |
image.save(screenshot_path)
|
328 |
-
print(f"Saved screenshot to {screenshot_path}")
|
329 |
|
330 |
for (
|
331 |
previous_memory_step
|
@@ -345,10 +341,8 @@ class E2BVisionAgent(CodeAgent):
|
|
345 |
def close(self):
|
346 |
"""Clean up resources"""
|
347 |
if self.desktop:
|
348 |
-
print("Stopping e2b stream...")
|
349 |
self.desktop.stream.stop()
|
350 |
-
|
351 |
-
print("Killing e2b sandbox...")
|
352 |
self.desktop.kill()
|
353 |
print("E2B sandbox terminated")
|
354 |
|
@@ -460,12 +454,11 @@ class QwenVLAPIModel(Model):
|
|
460 |
|
461 |
# Initialize HF OpenAI-compatible client if token is provided
|
462 |
self.hf_client = None
|
463 |
-
|
464 |
-
|
465 |
-
self.
|
466 |
-
|
467 |
-
|
468 |
-
)
|
469 |
|
470 |
def __call__(
|
471 |
self,
|
@@ -479,17 +472,16 @@ class QwenVLAPIModel(Model):
|
|
479 |
formatted_messages = self._format_messages(messages)
|
480 |
|
481 |
# First try the HF endpoint if available - THIS ALWAYS FAILS SO SKIPPING
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
# # Continue to fallback
|
493 |
|
494 |
# Fallback to hyperbolic
|
495 |
try:
|
|
|
113 |
# Set up temp directory
|
114 |
os.makedirs(self.data_dir, exist_ok=True)
|
115 |
print(f"Screenshots and steps will be saved to: {self.data_dir}")
|
|
|
116 |
|
117 |
# Initialize base agent
|
118 |
super().__init__(
|
|
|
132 |
|
133 |
|
134 |
# Add default tools
|
|
|
135 |
self.logger.log("Setting up agent tools...")
|
136 |
+
self._setup_desktop_tools()
|
137 |
self.step_callbacks.append(self.take_screenshot_callback)
|
|
|
|
|
138 |
self.final_answer_checks = [self.store_metadata_to_file]
|
139 |
|
140 |
def _setup_desktop_tools(self):
|
|
|
313 |
self.logger.log(self.log_path, "Analyzing screen content...")
|
314 |
|
315 |
current_step = memory_step.step_number
|
|
|
316 |
|
317 |
time.sleep(2.0) # Let things happen on the desktop
|
318 |
screenshot_bytes = self.desktop.screenshot()
|
|
|
321 |
# Create a filename with step number
|
322 |
screenshot_path = os.path.join(self.data_dir, f"step_{current_step:03d}.png")
|
323 |
image.save(screenshot_path)
|
324 |
+
print(f"Saved screenshot for step {current_step} to {screenshot_path}")
|
325 |
|
326 |
for (
|
327 |
previous_memory_step
|
|
|
341 |
def close(self):
|
342 |
"""Clean up resources"""
|
343 |
if self.desktop:
|
344 |
+
print("Stopping e2b stream and killing sandbox...")
|
345 |
self.desktop.stream.stop()
|
|
|
|
|
346 |
self.desktop.kill()
|
347 |
print("E2B sandbox terminated")
|
348 |
|
|
|
454 |
|
455 |
# Initialize HF OpenAI-compatible client if token is provided
|
456 |
self.hf_client = None
|
457 |
+
from openai import OpenAI
|
458 |
+
self.hf_client = OpenAI(
|
459 |
+
base_url=self.hf_base_url + "/v1/",
|
460 |
+
api_key=self.hf_token
|
461 |
+
)
|
|
|
462 |
|
463 |
def __call__(
|
464 |
self,
|
|
|
472 |
formatted_messages = self._format_messages(messages)
|
473 |
|
474 |
# First try the HF endpoint if available - THIS ALWAYS FAILS SO SKIPPING
|
475 |
+
try:
|
476 |
+
completion = self._call_hf_endpoint(
|
477 |
+
formatted_messages,
|
478 |
+
stop_sequences,
|
479 |
+
**kwargs
|
480 |
+
)
|
481 |
+
return ChatMessage(role=MessageRole.ASSISTANT, content=completion)
|
482 |
+
except Exception as e:
|
483 |
+
print(f"HF endpoint failed with error: {e}. Falling back to hyperbolic.")
|
484 |
+
# Continue to fallback
|
|
|
485 |
|
486 |
# Fallback to hyperbolic
|
487 |
try:
|