MenuBase/services/language/base.py

26 lines
724 B
Python

# services/language/base.py
"""
Base class for language detection services
"""
from abc import ABC, abstractmethod
from typing import Optional, List, Dict, Tuple
class LanguageDetectionService(ABC):
"""Abstract base class for language detection services"""
@abstractmethod
def detect_language(self, text: str) -> Tuple[str, float]:
"""
Detect language of a text
Returns: Tuple of (language_code, confidence_score)
"""
pass
@abstractmethod
def detect_batch(self, texts: List[str]) -> List[Tuple[str, float]]:
"""
Detect language of multiple texts
Returns: List of tuples (language_code, confidence_score)
"""
pass