• Stefy Lanza (nextime / spora )'s avatar
    images: make the model matrix actually servable, splitting only where measured · 3fed6161
    Stefy Lanza (nextime / spora ) authored
    The pod images were built to satisfy imports, not to serve models. The audit
    found coqui/XTTS-v2, every whisper.cpp model, diarization, speaker ID, SALAD
    place recognition and Surya all unservable on a pod, and the OCR image shipping
    no OCR engine at all.
    
    Three of the eight 'isolated' stacks are not isolated any more. Surya, speechbrain
    and pytorch_lightning all import cleanly beside torch 2.11 — their venvs were
    decided against an older torch and never re-checked, exactly like audiocraft's
    torch==2.1.0. They go straight into the ocr, stt and embeddings profiles: place
    recognition, speaker ID and Surya now work for a few hundred MB instead of three
    new images. Surya's subprocess engine is pointed at the pod's own interpreter,
    since building a venv to hold what is already installed would only cost rental
    time.
    
    Five stacks genuinely cannot share, each verified rather than assumed:
    pyannote (torchaudio.AudioMetaData is gone in 2.11), coqui-tts (a transformers
    4.x symbol), CrisperWhisper (transformers 4.46 AND torch 2.5), NeMo (large, own
    torch) and paddle (its own CUDA runtime). Each gets an image carrying a baked
    venv, rather than 6 GB added to an image everyone pulls.
    
    The `speaker` capability no longer points at the STT image: that was the assumption that it was
    'the STT deps plus a bit', and it shipped nothing for diarization or voiceprints
    at all.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_0182DhR1eFNPQyGmDrpHbedY
    3fed6161
ocr.txt 1.43 KB