carlex3321 commited on
Commit
9b230d1
·
verified ·
1 Parent(s): b800a25

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +35 -37
start.sh CHANGED
@@ -36,56 +36,57 @@ export NCCL_TIMEOUT=600
36
  if [ -d /data ]; then
37
  export HF_HOME="/data/.cache/huggingface"
38
  export TORCH_HOME="/data/.cache/torch"
39
- mkdir -p "$HF_HOME/hub" "$TORCH_HOME"
40
- # Symlink para compatibilidade com /app
41
- mkdir -p /app/.cache
42
- ln -sf "$HF_HOME" /app/.cache/huggingface
43
  else
44
  export HF_HOME="/app/.cache/huggingface"
45
  export TORCH_HOME="/app/.cache/torch"
46
- mkdir -p "$HF_HOME/hub" "$TORCH_HOME"
47
  fi
48
-
49
- unset TRANSFORMERS_CACHE # evitar conflito com outros caches
50
  export HF_HUB_CACHE="${HF_HUB_CACHE:-$HF_HOME/hub}"
 
 
 
 
 
 
 
51
  export HF_HUB_ENABLE_HF_TRANSFER=1
52
  export HF_HUB_DOWNLOAD_TIMEOUT=60
53
 
54
- # ---------------------- Pré-download do modelo ----------------------
55
  MODEL_REPO="ByteDance-Seed/VINCIE-3B"
56
- echo "Baixando o modelo ${MODEL_REPO} para cache persistente em $HF_HUB_CACHE..."
57
 
58
- retry_count=0
59
- max_retries=3
60
- while [ $retry_count -lt $max_retries ]; do
61
- echo "Tentativa $((retry_count+1)) de snapshot_download..."
62
- python - <<'PY' || true
63
- import os, time
 
 
 
 
64
  from huggingface_hub import snapshot_download
65
  hf_home = os.environ.get("HF_HOME","/app/.cache/huggingface")
66
  cache_dir = os.path.join(hf_home, "hub")
67
  os.makedirs(cache_dir, exist_ok=True)
68
  repo_id = "ByteDance-Seed/VINCIE-3B"
69
  token = os.getenv("HF_TOKEN")
70
- try:
71
- snapshot_download(repo_id=repo_id, cache_dir=cache_dir, resume_download=True, token=token)
72
- print("Download concluído.")
73
- except Exception as e:
74
- print(f"Erro no download: {e}")
75
- raise
76
  PY
77
- status=$?
78
- if [ $status -eq 0 ]; then
79
- break
80
- fi
81
- retry_count=$((retry_count+1))
82
- echo "Falha na tentativa $retry_count. Tentando novamente em 10s..."
83
- sleep 10
84
- if [ $retry_count -eq $max_retries ]; then
85
- echo "Erro: Falha ao baixar o modelo após $max_retries tentativas."
86
- exit 1
87
- fi
88
- done
 
89
 
90
  ls -la "$HF_HUB_CACHE" || echo "Cache não encontrado após download."
91
 
@@ -93,7 +94,6 @@ ls -la "$HF_HUB_CACHE" || echo "Cache não encontrado após download."
93
  if nvidia-smi >/dev/null 2>&1; then
94
  if [ "${DISABLE_BUILDER:-0}" -eq 0 ]; then
95
  echo "Executando builder Apex/Q8..."
96
- # Use o builder revisado (salve como /app/builder.sh)
97
  if [ -f /app/builder.sh ]; then
98
  chmod +x /app/builder.sh
99
  timeout "${BUILDER_TIMEOUT_SEC:-7200}" bash -lc /app/builder.sh || echo "Builder excedeu tempo/erro, prosseguindo."
@@ -116,7 +116,5 @@ echo "Estrutura em $HF_HOME:"
116
  ls -la "$HF_HOME" | sed -n '1,200p'
117
 
118
  # ---------------------- Subindo serviço ----------------------
119
- echo "🚀 Subindo serviços..."
120
-
121
- python app_vince.py
122
 
 
36
  if [ -d /data ]; then
37
  export HF_HOME="/data/.cache/huggingface"
38
  export TORCH_HOME="/data/.cache/torch"
 
 
 
 
39
  else
40
  export HF_HOME="/app/.cache/huggingface"
41
  export TORCH_HOME="/app/.cache/torch"
 
42
  fi
 
 
43
  export HF_HUB_CACHE="${HF_HUB_CACHE:-$HF_HOME/hub}"
44
+ mkdir -p "$HF_HUB_CACHE" "$TORCH_HOME"
45
+
46
+ # Symlink para compatibilidade com /app
47
+ mkdir -p /app/.cache
48
+ ln -sf "$HF_HOME" /app/.cache/huggingface
49
+
50
+ unset TRANSFORMERS_CACHE
51
  export HF_HUB_ENABLE_HF_TRANSFER=1
52
  export HF_HUB_DOWNLOAD_TIMEOUT=60
53
 
54
+ # ---------------------- Pré-download do modelo (cache-first) ----------------------
55
  MODEL_REPO="ByteDance-Seed/VINCIE-3B"
56
+ CACHE_MODEL_DIR="$HF_HUB_CACHE/models--ByteDance-Seed--VINCIE-3B"
57
 
58
+ if [ -d "$CACHE_MODEL_DIR" ] && [ "$(ls -A "$CACHE_MODEL_DIR" 2>/dev/null)" ]; then
59
+ echo "Cache do modelo já existe em $CACHE_MODEL_DIR. Não será feito novo download."
60
+ else
61
+ echo "Baixando o modelo ${MODEL_REPO} para cache persistente em $HF_HUB_CACHE..."
62
+ retry_count=0
63
+ max_retries=3
64
+ while [ $retry_count -lt $max_retries ]; do
65
+ echo "Tentativa $((retry_count+1)) de snapshot_download..."
66
+ python - <<'PY' || true
67
+ import os
68
  from huggingface_hub import snapshot_download
69
  hf_home = os.environ.get("HF_HOME","/app/.cache/huggingface")
70
  cache_dir = os.path.join(hf_home, "hub")
71
  os.makedirs(cache_dir, exist_ok=True)
72
  repo_id = "ByteDance-Seed/VINCIE-3B"
73
  token = os.getenv("HF_TOKEN")
74
+ snapshot_download(repo_id=repo_id, cache_dir=cache_dir, resume_download=True, token=token)
75
+ print("Download concluído.")
 
 
 
 
76
  PY
77
+ status=$?
78
+ if [ $status -eq 0 ]; then
79
+ break
80
+ fi
81
+ retry_count=$((retry_count+1))
82
+ echo "Falha na tentativa $retry_count. Tentando novamente em 10s..."
83
+ sleep 10
84
+ if [ $retry_count -eq $max_retries ]; then
85
+ echo "Erro: Falha ao baixar o modelo após $max_retries tentativas."
86
+ exit 1
87
+ fi
88
+ done
89
+ fi
90
 
91
  ls -la "$HF_HUB_CACHE" || echo "Cache não encontrado após download."
92
 
 
94
  if nvidia-smi >/dev/null 2>&1; then
95
  if [ "${DISABLE_BUILDER:-0}" -eq 0 ]; then
96
  echo "Executando builder Apex/Q8..."
 
97
  if [ -f /app/builder.sh ]; then
98
  chmod +x /app/builder.sh
99
  timeout "${BUILDER_TIMEOUT_SEC:-7200}" bash -lc /app/builder.sh || echo "Builder excedeu tempo/erro, prosseguindo."
 
116
  ls -la "$HF_HOME" | sed -n '1,200p'
117
 
118
  # ---------------------- Subindo serviço ----------------------
119
+ python /app/app_vince.py
 
 
120