mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-10-03 17:15:19 -07:00
fix(generation): make post-generation cleanup best-effort and cover /generate/stream
Wrap empty_device_cache in release_generation_memory(), which logs and swallows cleanup failures so a poisoned CUDA context cannot replace a finished generation's result, and call it from the streaming endpoint too, which drives generate_chunked directly.
This commit is contained in:
committed by
capy-ai-staging[bot]
parent
17fd1ddd1b
commit
b788dc383c
@@ -12,7 +12,7 @@ from sqlalchemy.orm import Session
|
||||
from .. import config, models
|
||||
from ..services import history, personality, profiles, tts
|
||||
from ..database import Generation as DBGeneration, VoiceProfile as DBVoiceProfile, get_db
|
||||
from ..services.generation import run_generation
|
||||
from ..services.generation import release_generation_memory, run_generation
|
||||
from ..services.task_queue import cancel_generation as cancel_generation_job, enqueue_generation
|
||||
from ..utils.audio import load_audio
|
||||
from ..utils.tasks import get_task_manager
|
||||
@@ -363,18 +363,21 @@ async def stream_speech(
|
||||
|
||||
runaway_detector = has_tts_runaway
|
||||
|
||||
audio, sample_rate = await generate_chunked(
|
||||
tts_model,
|
||||
data.text,
|
||||
voice_prompt,
|
||||
language=data.language,
|
||||
seed=data.seed,
|
||||
instruct=data.instruct,
|
||||
max_chunk_chars=data.max_chunk_chars,
|
||||
crossfade_ms=data.crossfade_ms,
|
||||
trim_fn=trim_fn,
|
||||
runaway_detector=runaway_detector,
|
||||
)
|
||||
try:
|
||||
audio, sample_rate = await generate_chunked(
|
||||
tts_model,
|
||||
data.text,
|
||||
voice_prompt,
|
||||
language=data.language,
|
||||
seed=data.seed,
|
||||
instruct=data.instruct,
|
||||
max_chunk_chars=data.max_chunk_chars,
|
||||
crossfade_ms=data.crossfade_ms,
|
||||
trim_fn=trim_fn,
|
||||
runaway_detector=runaway_detector,
|
||||
)
|
||||
finally:
|
||||
release_generation_memory(tts_model)
|
||||
|
||||
effects_chain_config = None
|
||||
if data.effects_chain is not None:
|
||||
|
||||
Reference in New Issue
Block a user