chari / download_model.py
danielramos
feat: add application boilerplate with UI and backend models
cc17c6c
Raw History Blame Contribute Delete
1.29 kB
import os
from pathlib import Path
from huggingface_hub import hf_hub_download
# Directorio del modelo
BASE_DIR = Path(__file__).resolve().parent
MODEL_DIR = BASE_DIR / "model"
MODEL_DIR.mkdir(exist_ok=True)
# Modelo recomendado: Qwen 2.5 0.5B Instruct (Habla español fluido, afinado para chat)
REPO_ID = "bartowski/Qwen2.5-0.5B-Instruct-GGUF"
FILENAME = "Qwen2.5-0.5B-Instruct-Q4_K_M.gguf"
DESTINATION = MODEL_DIR / FILENAME
def ensure_model() -> Path:
"""Verifica si el modelo existe localmente; si no, lo descarga desde Hugging Face."""
if DESTINATION.exists():
print(f"[OK] El modelo ya existe en: {DESTINATION} ({DESTINATION.stat().st_size / (1024 * 1024):.2f} MB)")
return DESTINATION
print(f"[DESCARGA] Bajando {FILENAME} desde Hugging Face ({REPO_ID})...")
print("Esto se realiza una sola vez en el Build de Render o al arrancar localmente.")
file_path = hf_hub_download(
repo_id=REPO_ID,
filename=FILENAME,
local_dir=str(MODEL_DIR),
local_dir_use_symlinks=False
)
downloaded_path = Path(file_path)
print(f"[EXITO] Modelo descargado en: {downloaded_path} ({downloaded_path.stat().st_size / (1024 * 1024):.2f} MB)")
return downloaded_path
if __name__ == "__main__":
ensure_model()