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
|