from abc import ABC, abstractmethod from typing import Dict, Optional, Union, Any class BaseVideoModel(ABC): def __init__(self, model_name: str): self.model_name = model_name self.model = None self.processor = None @abstractmethod def chat( self, prompt: str, video_path: str, generation_config: Optional[Dict[str, Any]] = None, ) -> str: pass # @abstractmethod # def chat_with_confidence( # self, # prompt: str, # video_path: str, # generation_config: Optional[Dict[str, Any]] = None, # ) -> Dict[str, Union[str, float]]: # pass