Spaces:
Build error
Build error
| # ========================================== | |
| # Etapa 1: Compilaci贸n de llama.cpp | |
| # ========================================== | |
| FROM ubuntu:22.04 AS builder | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| git \ | |
| cmake \ | |
| curl \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /build | |
| # Clonar y compilar llama.cpp optimizado para CPU gen茅rica vCPU (Hugging Face) | |
| RUN git clone https://github.com/ggerganov/llama.cpp.git && \ | |
| cd llama.cpp && \ | |
| cmake -B build -DGGML_NATIVE=OFF -DCMAKE_BUILD_TYPE=Release && \ | |
| cmake --build build --config Release -j $(nproc) | |
| # ========================================== | |
| # Etapa 2: Entorno de Ejecuci贸n Ligero | |
| # ========================================== | |
| FROM ubuntu:22.04 AS runtime | |
| RUN apt-get update && apt-get install -y \ | |
| curl \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Requisito estricto de HF Spaces: Crear un usuario no-root con UID 1000 | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| WORKDIR /home/user/app | |
| # Copiar exclusivamente el binario del servidor desde la etapa de compilaci贸n | |
| COPY --chown=user:user --from=builder /build/llama.cpp/build/bin/llama-server ./llama-server | |
| # Descargar el modelo optimizado en formato GGUF durante el Build Time | |
| # Nota: Usamos Qwen2.5-1.5B-Instruct (o 0.5B) por su brutal capacidad multiling眉e y velocidad instant谩nea en CPU. | |
| # Puedes sustituir esta URL por cualquier modelo .gguf compatible (como las conversiones de Liquid LFM si est谩n mapeadas). | |
| RUN curl -L -o model.gguf "https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf" | |
| # Requisito estricto de HF Spaces: Exponer obligatoriamente el puerto 7860 | |
| EXPOSE 7860 | |
| # Configuraci贸n del motor de inferencia | |
| # --host 0.0.0.0: Escuchar en todas las interfaces de red del contenedor | |
| # --port 7860: Puerto requerido por Hugging Face | |
| # -c 2048: Tama帽o de contexto optimizado (ahorra memoria y acelera el procesamiento del prompt) | |
| CMD ["./llama-server", "--host", "0.0.0.0", "--port", "7860", "-m", "model.gguf", "-c", "2048"] |