Yuuki-api / Dockerfile
aguitauwu
Primer commit
849ec65
raw
history blame
996 Bytes
FROM python:3.10-slim
WORKDIR /app
# Instalar dependencias del sistema
RUN apt-get update && apt-get install -y \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
# Copiar e instalar dependencias Python primero (cache de Docker)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copiar código
COPY app.py .
# Pre-descargar el modelo durante el build
# (no en runtime, así el container arranca rápido)
RUN python -c "\
from transformers import AutoTokenizer, AutoModelForCausalLM; \
print('Downloading tokenizer...'); \
AutoTokenizer.from_pretrained('OpceanAI/Yuuki-best'); \
print('Downloading model...'); \
AutoModelForCausalLM.from_pretrained('OpceanAI/Yuuki-best'); \
print('Done!')"
EXPOSE 7860
# Healthcheck para saber cuando el servidor está listo
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD curl -f http://localhost:7860/health || exit 1
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]