#2 Configurer le type de calcul Whisper

Fuzionată
penta a fuzionat 1 commits de la penta/codex în penta/master 5 ore în urmă
1 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 4 2
      app.py

+ 4 - 2
app.py

@@ -17,6 +17,7 @@ def env_bool(name: str, default: bool = False) -> bool:
 LOG_LEVEL = os.getenv("WHISPER_LOG_LEVEL", "INFO").upper()
 VAD_ENABLED = env_bool("WHISPER_VAD", True)
 MODEL_SIZE = str(os.getenv("MODEL_SIZE", "small").lower())
+COMPUTE_TYPE = os.getenv("WHISPER_COMPUTE_TYPE", "float32").strip().lower()
 MIN_AUDIO_SEC = float(os.getenv("MIN_AUDIO_SEC", "2.0"))
 MAX_AUDIO_SEC = float(os.getenv("MAX_AUDIO_SEC", "10.0"))
 
@@ -32,13 +33,14 @@ logger.setLevel(getattr(logging, LOG_LEVEL, logging.INFO))
 
 logger.info(f"Log level = {LOG_LEVEL}")
 logger.info(f"VAD enabled = {VAD_ENABLED}")
+logger.info("Model = %s, compute type = %s", MODEL_SIZE, COMPUTE_TYPE)
 
 app = FastAPI()
 
 # =========================
 # Whisper model (shared)
 # =========================
-model = WhisperModel(MODEL_SIZE, device="cuda", compute_type="float32")
+model = WhisperModel(MODEL_SIZE, device="cuda", compute_type=COMPUTE_TYPE)
 # Vérifier les kernels CUDA avant de déclarer le service prêt.
 list(model.transcribe(np.zeros(16000, dtype=np.float32), language="fr", beam_size=1)[0])
 model_lock = Lock()
@@ -54,7 +56,7 @@ def transcribe_audio(audio):
 
 @app.get("/healthz")
 def healthz():
-    return {"status": "ready", "model": MODEL_SIZE}
+    return {"status": "ready", "model": MODEL_SIZE, "compute_type": COMPUTE_TYPE}
 
 # =========================
 # REST API (Swagger / tests)