Spaces:
Sleeping
Sleeping
Update Dockerfile
Browse files- Dockerfile +17 -44
Dockerfile
CHANGED
|
@@ -1,54 +1,27 @@
|
|
| 1 |
-
# HUGGINGFACE SPACES - DOCKER
|
| 2 |
FROM python:3.11-slim
|
| 3 |
|
| 4 |
-
#
|
| 5 |
-
ARG MODEL_URL="https://cas-bridge.xethub.hf.co/xet-bridge-us/67fddfc6647578a554f63c8a/8fc299b2c197558dd063213df3475356adda52923314428388d7f7f66fcdd5cc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cas%2F20250811%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250811T001642Z&X-Amz-Expires=3600&X-Amz-Signature=3b06606d4e5a4ec2f8e00eb18c4b67f39b2015deb4f8b5d19b122e2f6f431cba&X-Amz-SignedHeaders=host&X-Xet-Cas-Uid=public&response-content-disposition=inline%3B+filename*%3DUTF-8%27%27ggml-model-i2_s.gguf%3B+filename%3D%22ggml-model-i2_s.gguf%22%3B&x-id=GetObject&Expires=1754875002&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc1NDg3NTAwMn19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2FzLWJyaWRnZS54ZXRodWIuaGYuY28veGV0LWJyaWRnZS11cy82N2ZkZGZjNjY0NzU3OGE1NTRmNjNjOGEvOGZjMjk5YjJjMTk3NTU4ZGQwNjMyMTNkZjM0NzUzNTZhZGRhNTI5MjMzMTQ0MjgzODhkN2Y3ZjY2ZmNkZDVjYyoifV19&Signature=PayZUFOSXeiwEGaTW%7EIEaTnkx22AxEeCh8x4hpVTTPl2et8bj3GeVJQVNcDyxvL8h2FlXYF7FSpWONnIe65LSxvpXl9t1h2g%7Eq21Ye%7Eb78Ce3UXU0xXKovLCDIKg8vApJuVM6zDkNnZcjo8N%7Ekwaq2btWn9av1IWxvYQvmLvPBAkg3PRxXDpz0xUPAue2UAf0BXfyIMniCqgHsUSpalHQohMVkZlaBzziCdDTS42C%7EcDhipKwriQ-oXDCgmfpcSir6gJ25eI2prO4fwzY7V6FAT3QJ9dFWBwd%7EycyCkXDU487s%7Es79Bacl5Q0KVfGLjyvhkUZ9%7Eg8LZGCkgiYVNLAQ__&Key-Pair-Id=K2L8F4GPSG1IFC"
|
| 6 |
-
|
| 7 |
-
# Paquetes necesarios: aria2 (descarga paralela), xz-utils (compresi贸n), coreutils (env vars/du), ca-certificates
|
| 8 |
RUN apt-get update && \
|
| 9 |
apt-get install -y --no-install-recommends \
|
| 10 |
-
|
|
|
|
| 11 |
rm -rf /var/lib/apt/lists/*
|
| 12 |
|
| 13 |
-
#
|
| 14 |
-
WORKDIR /workspace
|
| 15 |
RUN mkdir -p /data
|
|
|
|
| 16 |
|
| 17 |
-
# Script de arranque
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
'
|
| 23 |
-
'
|
| 24 |
-
'
|
| 25 |
-
'
|
| 26 |
-
'
|
| 27 |
-
'
|
| 28 |
-
'' \
|
| 29 |
-
'echo "[1/3] Descargando modelo..."' \
|
| 30 |
-
'if [ ! -s "${RAW}" ]; then' \
|
| 31 |
-
' aria2c -x16 -s16 -k1M -o "$(basename "${RAW}")" -d "${OUT_DIR}" "${MODEL_URL}"' \
|
| 32 |
-
'else' \
|
| 33 |
-
' echo "Saltando descarga: existe ${RAW}"' \
|
| 34 |
-
'fi' \
|
| 35 |
-
'' \
|
| 36 |
-
'echo "[2/3] Comprimiendo a tar.xz (m谩xima compresi贸n, multihilo)..."' \
|
| 37 |
-
'if [ ! -s "${TXZ}" ]; then' \
|
| 38 |
-
' # Nota: -I permite pasar el pipeline completo de xz; -9e = m谩ximo, -T0 = todos los hilos' \
|
| 39 |
-
' tar -C "${OUT_DIR}" -c -f "${TXZ}" -I "xz -9e -T0" "$(basename "${RAW}")"' \
|
| 40 |
-
'else' \
|
| 41 |
-
' echo "Saltando compresi贸n: existe ${TXZ}"' \
|
| 42 |
-
'fi' \
|
| 43 |
-
'' \
|
| 44 |
-
'echo "[3/3] Tama帽os:"' \
|
| 45 |
-
'du -h "${RAW}" || true' \
|
| 46 |
-
'du -h "${TXZ}" || true' \
|
| 47 |
-
'' \
|
| 48 |
-
'echo "Listo. Sirviendo /data en http://0.0.0.0:7860/"' \
|
| 49 |
-
'cd "${OUT_DIR}"' \
|
| 50 |
-
'python -m http.server 7860' \
|
| 51 |
-
> /usr/local/bin/run.sh && chmod +x /usr/local/bin/run.sh
|
| 52 |
|
| 53 |
EXPOSE 7860
|
| 54 |
-
CMD ["/
|
|
|
|
|
|
|
| 1 |
FROM python:3.11-slim
|
| 2 |
|
| 3 |
+
# Instala dependencias: huggingface_hub para descarga, xz-utils para compresi贸n
|
|
|
|
|
|
|
|
|
|
| 4 |
RUN apt-get update && \
|
| 5 |
apt-get install -y --no-install-recommends \
|
| 6 |
+
xz-utils && \
|
| 7 |
+
pip install --no-cache-dir huggingface_hub && \
|
| 8 |
rm -rf /var/lib/apt/lists/*
|
| 9 |
|
| 10 |
+
# Directorios
|
|
|
|
| 11 |
RUN mkdir -p /data
|
| 12 |
+
WORKDIR /data
|
| 13 |
|
| 14 |
+
# Script de arranque
|
| 15 |
+
RUN echo '#!/usr/bin/env python3' > /run.py && \
|
| 16 |
+
echo 'import os' >> /run.py && \
|
| 17 |
+
echo 'from huggingface_hub import hf_hub_download' >> /run.py && \
|
| 18 |
+
echo 'print("[1/3] Descargando .gguf...")' >> /run.py && \
|
| 19 |
+
echo 'raw_path = hf_hub_download("microsoft/bitnet-b1.58-2B-4T-gguf", "ggml-model-i2_s.gguf", local_dir="/data")' >> /run.py && \
|
| 20 |
+
echo 'print("[2/3] Comprimiendo con xz (m谩xima compresi贸n)...")' >> /run.py && \
|
| 21 |
+
echo 'os.system("tar -C /data -c -f /data/model.tar.xz -I \\"xz -9e -T0\\" ggml-model-i2_s.gguf")' >> /run.py && \
|
| 22 |
+
echo 'print("[3/3] Servidor HTTP en puerto 7860:")' >> /run.py && \
|
| 23 |
+
echo 'os.chdir("/data")' >> /run.py && \
|
| 24 |
+
echo 'os.system("python3 -m http.server 7860")' >> /run.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
EXPOSE 7860
|
| 27 |
+
CMD ["python3", "/run.py"]
|