以下の内容はhttps://0xf.hatenablog.com/entry/2025/11/04/152135より取得しました。


コンテナにWhisperのモデルを焼き込む

諸事情によりコンテナでWhisperを実行したくなったと思いねえ。しかし初回ダウンロードにはとても時間がかかる。毎回ロードするのがわかっているならモデルファイルは焼いておきたい。

FROM python:3.13-trixie

ENV DEBIAN_FRONTEND=noninteractive \
    WHISPER_CACHE_DIR=/opt/whisper-cache \
    PYTHONUNBUFFERED=1

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ffmpeg \
        build-essential \
        pkg-config \
        libavformat-dev \
        libavcodec-dev \
        libavdevice-dev \
        libavutil-dev \
        libavfilter-dev \
        libswscale-dev \
        libswresample-dev \
    && rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir faster-whisper

RUN mkdir -p "${WHISPER_CACHE_DIR}" \
    && python - <<'PY'
import os
from faster_whisper import download_model

model_name = "large-v3"
download_root = os.environ["WHISPER_CACHE_DIR"]
download_model(model_name, output_dir=download_root)
PY

WORKDIR /app

ENV WHISPER_MODEL_NAME=large-v3

CMD ["python"]

イメージにはダウンロードしたモデルが保存されている。

root@9b61b0c2018b:/app# ls -la /opt/whisper-cache/
total 3018420
drwxr-xr-x 3 root root       4096 Nov  4 06:12 .
drwxr-xr-x 1 root root       4096 Nov  4 06:12 ..
drwxr-xr-x 3 root root       4096 Nov  4 06:08 .cache
-rw-r--r-- 1 root root       2394 Nov  4 06:08 config.json
-rw-r--r-- 1 root root 3087284237 Nov  4 06:12 model.bin
-rw-r--r-- 1 root root        340 Nov  4 06:08 preprocessor_config.json
-rw-r--r-- 1 root root    2480617 Nov  4 06:08 tokenizer.json
-rw-r--r-- 1 root root    1068114 Nov  4 06:08 vocabulary.json

便利...ではあるけど、別にコンテナのアーキテクチャに非依存なモデルなのでS3とかEFSにでもおいておけばいいような気はする。




以上の内容はhttps://0xf.hatenablog.com/entry/2025/11/04/152135より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14