from nooa import Agent
class SpatialAnnotator(Agent, llm=llm):
"""Answer spatial questions about an image using scene understanding tools."""
scene: SceneContext
def measure(self, a, b=None, kind="object_to_object") -> Measurement
def count(self, target: str) -> Count
async def annotate(self, image: Image, question: str) -> SpatialAnswer:
"""Answer the spatial question. This is offline labeling, so there is
no human available for clarification. Prefer a canonical
interpretation, and decline if the question cannot be grounded."""
...