37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
"""No-op реализации Transcriber/Summarizer, используемые как безопасный default."""
|
|
|
|
from typing import Any, ClassVar
|
|
|
|
from core.plugins.factory import register_summarizer, register_transcriber
|
|
from core.plugins.summarizer import Summarizer
|
|
from core.plugins.transcriber import Segment, Transcriber
|
|
|
|
|
|
@register_transcriber
|
|
class NullTranscriber(Transcriber):
|
|
"""Transcriber, который не выдаёт сегменты; используется когда транскрибация отключена."""
|
|
|
|
provider: ClassVar[str] = "null"
|
|
|
|
def __init__(self, model: str | None = None, language: str = "ru", **options: Any) -> None:
|
|
self.model = model
|
|
self.language = language
|
|
self.options = options
|
|
|
|
def transcribe(self, audio_path: str, language: str = "ru") -> list[Segment]:
|
|
return []
|
|
|
|
|
|
@register_summarizer
|
|
class NullSummarizer(Summarizer):
|
|
"""Summarizer, который выдаёт пустое резюме; используется когда суммаризация отключена."""
|
|
|
|
provider: ClassVar[str] = "null"
|
|
|
|
def __init__(self, model: str | None = None, **options: Any) -> None:
|
|
self.model = model
|
|
self.options = options
|
|
|
|
def summarize(self, transcript: str) -> str:
|
|
return ""
|