feat: add detailed logging for Whisper model and processing time
- Log model name explicitly when loading and transcribing - Log model load time - Log transcription processing time - Helps verify correct model is being used 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
6baf6cc254
commit
dc78dc6fb5
1 changed files with 12 additions and 4 deletions
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
import time
|
||||
from dataclasses import dataclass
|
||||
|
||||
from faster_whisper import WhisperModel
|
||||
|
|
@ -62,14 +63,16 @@ class WhisperService:
|
|||
def model(self) -> WhisperModel:
|
||||
"""Lazy-load Whisper model on first use."""
|
||||
if self._model is None:
|
||||
logger.info(f"Loading Whisper model: {self._model_name}")
|
||||
logger.info(f"Loading Whisper model '{self._model_name}' (device=cpu, compute_type=int8)...")
|
||||
load_start = time.time()
|
||||
self._model = WhisperModel(
|
||||
self._model_name,
|
||||
device="cpu",
|
||||
compute_type="int8", # Quantized for faster CPU inference
|
||||
cpu_threads=4
|
||||
)
|
||||
logger.info("Whisper model loaded successfully")
|
||||
load_time = time.time() - load_start
|
||||
logger.info(f"Whisper model '{self._model_name}' loaded successfully in {load_time:.2f}s")
|
||||
return self._model
|
||||
|
||||
def transcribe_audio(self, audio_path: str) -> list[WordTimestamp]:
|
||||
|
|
@ -82,7 +85,8 @@ class WhisperService:
|
|||
Returns:
|
||||
List of WordTimestamp objects with word-level timing
|
||||
"""
|
||||
logger.info(f"Starting Whisper transcription: {audio_path}")
|
||||
logger.info(f"Starting Whisper transcription using model '{self._model_name}': {audio_path}")
|
||||
transcribe_start = time.time()
|
||||
|
||||
segments, info = self.model.transcribe(
|
||||
audio_path,
|
||||
|
|
@ -104,7 +108,11 @@ class WhisperService:
|
|||
end=word.end
|
||||
))
|
||||
|
||||
logger.info(f"Whisper transcription complete: {len(words)} words detected")
|
||||
transcribe_time = time.time() - transcribe_start
|
||||
logger.info(
|
||||
f"Whisper transcription complete using model '{self._model_name}': "
|
||||
f"{len(words)} words detected in {transcribe_time:.2f}s"
|
||||
)
|
||||
return words
|
||||
|
||||
def identify_speech_gaps(self, words: list[WordTimestamp]) -> list[SpeechGap]:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue