26 lines
724 B
Python
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
|