Files
vidconf/backend/core/plugins/null.py

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 ""