Sesame CSM-1B via phildougherty/sesame_csm_openai — OpenAI-compat /v1/audio/speech, context-aware conversational speech (voice-agent layer, not a plain reader). Port 8201 on irv-ml1. Gated model: requires CSM_HF_TOKEN (license acceptance) — placeholder in .env.example, real token only in host .env.
50 lines
2.7 KiB
Bash
50 lines
2.7 KiB
Bash
# Sesame CSM stack tunables. Copy to `.env` on irv-ml1 before deploying.
|
|
|
|
# ── build pin ────────────────────────────────────────────────────────
|
|
# SHA of phildougherty/sesame_csm_openai. Use the FULL 40-char SHA;
|
|
# `main` works but is NOT reproducible — pin before relying on it.
|
|
# https://github.com/phildougherty/sesame_csm_openai/commits/main
|
|
CSM_SHA=main
|
|
|
|
# Local image tag — bump to force a fresh layer build.
|
|
CSM_TAG=v1
|
|
|
|
# ── network ──────────────────────────────────────────────────────────
|
|
# Host port. Container listens on 8000 internally.
|
|
# Reserved on irv-ml1: 8188 ComfyUI, 8190 CosyVoice, 8191 Qwen3-TTS,
|
|
# 8192 IndexTTS-2, 8193 Kokoro, 8194 VibeVoice, 8195 Fish-S2,
|
|
# 8196 Chatterbox, 8197 Voxtral, 8198 Kyutai, 8199 Zonos, 8200 Dia,
|
|
# 8765 Parakeet. 8201 picked here.
|
|
CSM_PORT=8201
|
|
|
|
# Bind address. 0.0.0.0 exposes on all interfaces (incl. the WG tunnel
|
|
# interface 10.100.79.3); 127.0.0.1 restricts to local-only.
|
|
CSM_BIND=0.0.0.0
|
|
|
|
# ── runtime / GPU ────────────────────────────────────────────────────
|
|
# Devices visible inside the container. "0" pins to the RTX 3090
|
|
# (24 GB) — CSM-1B (~8 GB) fits; use "1" for the A6000.
|
|
CSM_GPU_DEVICES=0
|
|
|
|
# Optional HF device_map for multi-GPU: auto | balanced | sequential.
|
|
# Leave empty for single-GPU (the common case here).
|
|
CSM_DEVICE_MAP=
|
|
|
|
# ── secrets ──────────────────────────────────────────────────────────
|
|
# REQUIRED. sesame/csm-1b is a GATED model: accept its license at
|
|
# https://huggingface.co/sesame/csm-1b
|
|
# then paste a HF token (read scope) here. Without it, first-boot model
|
|
# download 401s. This file is .env.example (committed) — put the REAL
|
|
# token only in the .env on the host, which is gitignored.
|
|
CSM_HF_TOKEN=
|
|
|
|
# ── persistent storage on the host ───────────────────────────────────
|
|
# Voices dir — cloned/custom voice samples the wrapper serves by ID.
|
|
# Included in restic (clones need the original sample to recreate).
|
|
CSM_VOICES_DIR=/worktank/csm/voices
|
|
|
|
# HuggingFace cache — csm-1b + Llama-3.2-1B tokenizer + Mimi land here
|
|
# on first start. Bind-mounted to survive recreate. Excluded from restic
|
|
# (regenerable from HF, given the token + license acceptance).
|
|
CSM_CACHE_DIR=/worktank/csm/cache
|