WebashalarForML's picture
Upload 42 files
fad436e verified
raw
history blame contribute delete
583 Bytes
from abc import ABC, abstractmethod
from typing import List, Dict, Any
class BaseEngine(ABC):
@abstractmethod
def process(self, image_path: str) -> Any:
pass
class BaseOCR(BaseEngine):
@abstractmethod
def extract_text(self, image_path: str) -> str:
pass
class BaseVLM(BaseEngine):
@abstractmethod
def extract_structured_data(self, image_path: str, prompt: str) -> Dict[str, Any]:
pass
class BaseNER(BaseEngine):
@abstractmethod
def extract_entities(self, text: str, labels: List[str]) -> Dict[str, List[str]]:
pass