Spaces:
Sleeping
Sleeping
File size: 1,698 Bytes
aa9892b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | -- TTS ์ธ์คํด์ค ์์ง ์ข
๋ฅ ๊ตฌ๋ถ (2026-05-18, Phase 0 PoC ํต๊ณผ ํ).
-- admin "TTS ์๋ฒ ์ถ๊ฐ" ์์ Qwen3-TTS (์ด์ default) / CosyVoice 3.0 (๋ฒ ํ) ์ ํ ๊ฐ๋ฅ.
--
-- ํ๊ท 0 ๊ฐ๋:
-- - ๊ธฐ์กด row ์๋ engine_kind='qwen3' ๋งคํ (default + UPDATE)
-- - dispatcher ๋ผ์ฐํ
= Phase 3 ๊น์ง = engine_kind ๋ฌด๊ด (admin ๋ง ๋ถ๊ธฐ)
-- - CosyVoice spawn fail โ Qwen3 fallback (Phase 3 dispatcher)
--
-- ์ดํ ๋จ๊ณ (์คํ ์์):
-- 1) ์ด SQL ์ ์ฉ (ALTER TABLE + UPDATE ๊ธฐ์กด row)
-- 2) backend ๋ฐฐํฌ (engine_kind ์ธ์ ์ฒ๋ฆฌ + GHCR image ๋ถ๊ธฐ)
-- 3) GHCR `voicetalk-tts-cosyvoice:latest` ๋น๋ (.github/workflows/build-tts-cosyvoice-image.yml)
-- 4) frontend ๋ฐฐํฌ (admin UI engine dropdown)
--
-- ์ฐธ์กฐ: doc/runbook/tts_engine_multi.md Phase 1 ์์
๋ถํด
ALTER TABLE public.tts_scale_instances
ADD COLUMN IF NOT EXISTS engine_kind TEXT NOT NULL DEFAULT 'qwen3';
-- ๊ธฐ์กด row ์์ ๋งคํ (DEFAULT ๊ฐ ์ row ์๋ง ์ ์ฉ๋๋ฏ๋ก ๋ช
์์ UPDATE).
UPDATE public.tts_scale_instances
SET engine_kind = 'qwen3'
WHERE engine_kind IS NULL OR engine_kind = '';
-- CHECK constraint โ ์ ์์ง ์ถ๊ฐ ์ ์ด ์ ์ฝ์ ๊ฐฑ์ .
ALTER TABLE public.tts_scale_instances
DROP CONSTRAINT IF EXISTS tts_scale_instances_engine_kind_check;
ALTER TABLE public.tts_scale_instances
ADD CONSTRAINT tts_scale_instances_engine_kind_check
CHECK (engine_kind IN ('qwen3', 'cosyvoice35'));
-- engine_kind ๋ณ ์ธ๋ฑ์ค (์ค์ผ์ผ ํ ๋ผ์ฐํ
/ ์ํ ์กฐํ ํจ์จ).
CREATE INDEX IF NOT EXISTS idx_tts_scale_engine_status
ON public.tts_scale_instances(engine_kind, status)
WHERE status IN ('free', 'ready', 'warm_stopped');
|