fix: close file handles in from_local() config loading
Use context managers when reading config.json in VoxCPMModel.from_local() and VoxCPM2Model.from_local() to prevent file descriptor leaks. Also add explicit encoding="utf-8" to avoid locale-dependent decode errors. Closes #235 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -852,7 +852,8 @@ class VoxCPMModel(nn.Module):
|
||||
device: str | None = None,
|
||||
lora_config: LoRAConfig = None,
|
||||
):
|
||||
config = VoxCPMConfig.model_validate_json(open(os.path.join(path, "config.json")).read())
|
||||
with open(os.path.join(path, "config.json"), "r", encoding="utf-8") as _cfg_f:
|
||||
config = VoxCPMConfig.model_validate_json(_cfg_f.read())
|
||||
tokenizer = LlamaTokenizerFast.from_pretrained(path)
|
||||
audio_vae_config = getattr(config, "audio_vae_config", None)
|
||||
audio_vae = AudioVAE(config=audio_vae_config) if audio_vae_config else AudioVAE()
|
||||
|
||||
Reference in New Issue
Block a user