Publish tiny_computer_agent/ from marimo
Browse files- tiny_computer_agent/__init__.py +32 -12
- tiny_computer_agent/brain.py +5 -0
tiny_computer_agent/__init__.py
CHANGED
|
@@ -63,20 +63,34 @@ from tiny_computer_agent.models import (
|
|
| 63 |
make_model_brain,
|
| 64 |
model_cached,
|
| 65 |
model_dependencies,
|
|
|
|
| 66 |
resolve_device,
|
| 67 |
)
|
|
|
|
| 68 |
from tiny_computer_agent.observe import (
|
| 69 |
Element,
|
| 70 |
FakeScreen,
|
| 71 |
GrabScreen,
|
|
|
|
| 72 |
Observation,
|
| 73 |
ScreenSource,
|
| 74 |
ScreenUnavailable,
|
| 75 |
normalise_label,
|
| 76 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
from tiny_computer_agent.perception import (
|
|
|
|
| 78 |
Detector,
|
| 79 |
DetectorUnavailable,
|
|
|
|
| 80 |
IndexedScreen,
|
| 81 |
OcrDetector,
|
| 82 |
detector_available,
|
|
@@ -101,17 +115,23 @@ from tiny_computer_agent.trace import (
|
|
| 101 |
__version__ = "0.3.0"
|
| 102 |
|
| 103 |
__all__ = [
|
| 104 |
-
"ACTION_KINDS", "ACTION_MENU", "Action", "ActionError",
|
| 105 |
-
"
|
| 106 |
-
"
|
| 107 |
-
"
|
| 108 |
-
"
|
| 109 |
-
"
|
| 110 |
-
"
|
| 111 |
-
"
|
| 112 |
-
"
|
| 113 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
"make_model_brain", "model_cached", "model_dependencies", "normalise_label",
|
| 115 |
-
"parse_action", "parse_decision", "
|
| 116 |
-
"
|
|
|
|
| 117 |
]
|
|
|
|
| 63 |
make_model_brain,
|
| 64 |
model_cached,
|
| 65 |
model_dependencies,
|
| 66 |
+
pick_dtype,
|
| 67 |
resolve_device,
|
| 68 |
)
|
| 69 |
+
from tiny_computer_agent.demo import fake_desktop, write_fake_desktop
|
| 70 |
from tiny_computer_agent.observe import (
|
| 71 |
Element,
|
| 72 |
FakeScreen,
|
| 73 |
GrabScreen,
|
| 74 |
+
ImageScreen,
|
| 75 |
Observation,
|
| 76 |
ScreenSource,
|
| 77 |
ScreenUnavailable,
|
| 78 |
normalise_label,
|
| 79 |
)
|
| 80 |
+
from tiny_computer_agent.desktop import (
|
| 81 |
+
BRAIN_NAMES,
|
| 82 |
+
DEFAULT_KILL_SWITCH,
|
| 83 |
+
Check,
|
| 84 |
+
build_agent,
|
| 85 |
+
display_available,
|
| 86 |
+
doctor,
|
| 87 |
+
run_checks,
|
| 88 |
+
)
|
| 89 |
from tiny_computer_agent.perception import (
|
| 90 |
+
AutoDetector,
|
| 91 |
Detector,
|
| 92 |
DetectorUnavailable,
|
| 93 |
+
GridDetector,
|
| 94 |
IndexedScreen,
|
| 95 |
OcrDetector,
|
| 96 |
detector_available,
|
|
|
|
| 115 |
__version__ = "0.3.0"
|
| 116 |
|
| 117 |
__all__ = [
|
| 118 |
+
"ACTION_KINDS", "ACTION_MENU", "Action", "ActionError",
|
| 119 |
+
"ActionResult", "AgentLoop", "AutoDetector", "BRAIN_NAMES",
|
| 120 |
+
"Brain", "BrainError", "Check", "DEFAULT_KILL_SWITCH",
|
| 121 |
+
"DEFAULT_TEXT_MODEL", "DEFAULT_VISION_MODEL", "DecisionMenu", "Detector",
|
| 122 |
+
"DetectorUnavailable", "DryRunExecutor", "Element", "Episode",
|
| 123 |
+
"Executor", "FakeScreen", "GoalUnreachable", "GrabScreen",
|
| 124 |
+
"GridDetector", "ImageScreen", "IndexedScreen", "InputUnavailable",
|
| 125 |
+
"MODEL_BRAINS", "MenuItem", "MockBrain", "ModelBrain",
|
| 126 |
+
"Observation", "OcrDetector", "PlannerBrain", "Policy",
|
| 127 |
+
"PolicyViolation", "PyAutoGuiExecutor", "Scenario", "Scoreboard",
|
| 128 |
+
"ScreenSource", "ScreenUnavailable", "Step", "TextPlannerBrain",
|
| 129 |
+
"Trace", "TraceStep", "VLMBrain", "Verdict",
|
| 130 |
+
"__version__", "benchmark", "benchmark_traces", "build_agent",
|
| 131 |
+
"detector_available", "display_available", "doctor", "extract_json_object",
|
| 132 |
+
"extract_json_objects", "fake_desktop", "load_traces", "make_detector",
|
| 133 |
"make_model_brain", "model_cached", "model_dependencies", "normalise_label",
|
| 134 |
+
"parse_action", "parse_decision", "pick_dtype", "resolve_device",
|
| 135 |
+
"resolve_point", "run_checks", "run_scenario", "score",
|
| 136 |
+
"score_replay", "score_trace", "write_fake_desktop",
|
| 137 |
]
|
tiny_computer_agent/brain.py
CHANGED
|
@@ -428,6 +428,11 @@ class ModelBrain:
|
|
| 428 |
self._last_fingerprint = fingerprint
|
| 429 |
return action
|
| 430 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 431 |
def _generate(self, prompt: str, observation: Observation) -> str:
|
| 432 |
raise NotImplementedError(
|
| 433 |
"subclass ModelBrain and implement _generate(prompt, observation)"
|
|
|
|
| 428 |
self._last_fingerprint = fingerprint
|
| 429 |
return action
|
| 430 |
|
| 431 |
+
@property
|
| 432 |
+
def loaded(self) -> bool:
|
| 433 |
+
"""True once the weights are in memory - they load lazily, on the first decide()."""
|
| 434 |
+
return getattr(self, "_model", None) is not None
|
| 435 |
+
|
| 436 |
def _generate(self, prompt: str, observation: Observation) -> str:
|
| 437 |
raise NotImplementedError(
|
| 438 |
"subclass ModelBrain and implement _generate(prompt, observation)"
|