Spaces:
Sleeping
Sleeping
| """Register Wizara Vision API endpoints on the Gradio Server app.""" | |
| from __future__ import annotations | |
| import os | |
| from typing import Any | |
| from .endpoints import handle_detect, handle_ocr, handle_unsupported | |
| def register_wizara_api(app, deps: dict[str, Any]) -> None: | |
| base_dir = os.path.dirname(os.path.abspath(deps["__file__"])) | |
| run_image_gpu = deps["run_image_gpu_api"] | |
| generate_prompt = deps["generate_raw_prompt"] | |
| parse_results = deps["parse_mixed_results"] | |
| shared = { | |
| "base_dir": base_dir, | |
| "run_image_gpu": run_image_gpu, | |
| "generate_prompt": generate_prompt, | |
| "parse_results": parse_results, | |
| } | |
| def detect_api( | |
| image: Any = None, | |
| categories: str = "objects", | |
| task_type: str = "Detection", | |
| model_mode: str = "hybrid", | |
| temp: float = 0.7, | |
| top_p: float = 0.9, | |
| top_k: int = 20, | |
| short_size: int | None = None, | |
| advanced_settings: str = "", | |
| ) -> dict: | |
| """Detect objects in an uploaded image and return normalized JSON.""" | |
| return handle_detect( | |
| image_file=image, | |
| categories=categories, | |
| task_type=task_type, | |
| model_mode=model_mode, | |
| temp=temp, | |
| top_p=top_p, | |
| top_k=top_k, | |
| short_size=short_size, | |
| advanced_settings=advanced_settings, | |
| **shared, | |
| ) | |
| def ocr_api( | |
| image: Any = None, | |
| model_mode: str = "hybrid", | |
| temp: float = 0.7, | |
| top_p: float = 0.9, | |
| top_k: int = 20, | |
| short_size: int | None = None, | |
| advanced_settings: str = "", | |
| ) -> dict: | |
| """Run OCR localization using the existing LocateAnything OCR task.""" | |
| return handle_ocr( | |
| image_file=image, | |
| model_mode=model_mode, | |
| temp=temp, | |
| top_p=top_p, | |
| top_k=top_k, | |
| short_size=short_size, | |
| advanced_settings=advanced_settings, | |
| **shared, | |
| ) | |
| def caption_api() -> dict: | |
| return handle_unsupported("caption") | |
| def segment_api() -> dict: | |
| return handle_unsupported("segment") | |
| def count_api() -> dict: | |
| return handle_unsupported("count") | |
| def classify_api() -> dict: | |
| return handle_unsupported("classify") | |