Files
agentic-mobile-control/tools/describe_screen_semantic.py
T

33 lines
1.1 KiB
Python

from __future__ import annotations
from core.models import Scene
from device.manager import DeviceManager
from perception.ocr import PaddleOCREngine
from perception.provider import PerceptionProvider
from semantic.config import SemanticConfig
from semantic.enricher import SemanticLLMClient, enrich_scene
from semantic.models import SemanticScene
from tools.describe_screen import describe_screen
def describe_screen_semantic(
device_id: str | None = None,
*,
manager: DeviceManager | None = None,
ocr_engine: PaddleOCREngine | None = None,
perception_provider: PerceptionProvider | None = None,
client: SemanticLLMClient | None = None,
semantic_config: SemanticConfig | None = None,
) -> dict[str, Scene | SemanticScene | None]:
scene = describe_screen(
device_id,
manager=manager,
ocr_engine=ocr_engine,
perception_provider=perception_provider,
)
semantic_scene = enrich_scene(scene, client=client, config=semantic_config)
return {
"scene": scene,
"semantic_scene": semantic_scene,
}