| from typing import Any, Literal | |
| from pydantic import BaseModel, Field | |
| class VisualReference(BaseModel): | |
| phrase: str | |
| asset_id: str | |
| view: str | None = None | |
| confidence: float = 1.0 | |
| class VisualOperation(BaseModel): | |
| id: str | |
| op: Literal[ | |
| "get_view", | |
| "get_ocr_regions", | |
| "ground_object", | |
| "extract_object_palette", | |
| "extract_global_palette", | |
| "extract_chart", | |
| "query_chart", | |
| "crop_region", | |
| "enlarge_region", | |
| "rerun_ocr", | |
| "create_presentation", | |
| "create_table", | |
| "answer_from_evidence", | |
| ] | |
| asset_id: str | None = None | |
| view: str | None = None | |
| parameters: dict[str, Any] = Field(default_factory=dict) | |
| class VisualPlan(BaseModel): | |
| intent: str | |
| references: list[VisualReference] = Field(default_factory=list) | |
| operations: list[VisualOperation] = Field(default_factory=list) | |