giragroup-bi-backend / Dockerfile
Adzacam
Fix: Cambiar a modelo dccuchile BERT base libre de restricciones 401
452cdbb
Raw
History Blame
1.44 kB
# =============================================================================
# DOCKERFILE OPTIMIZADO PARA API FASTAPI + TRANSFORMERS (BETO) EN ENTORNOS CPU
# =============================================================================
FROM python:3.12-slim
# 1. Instalar compiladores necesarios para psycopg2 y rapidfuzz
USER root
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libpq-dev \
gcc \
&& rm -rf /var/lib/apt/lists/*
# 2. Configurar el usuario exigido por Hugging Face (UID 1000)
RUN useradd -m -u 1000 user
ENV PATH="/home/user/.local/bin:$PATH" \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
HF_HOME=/tmp/huggingface_cache
WORKDIR /app
# 3. Copiar e instalar dependencias con los permisos correctos
COPY --chown=user ./requirements.txt requirements.txt
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# 4. Descargar y almacenar los pesos de BETO (NER) en cach茅 durante la construcci贸n
RUN python -c "from transformers import pipeline; pipeline('ner', model='dccuchile/bert-base-spanish-wwm-cased', aggregation_strategy='simple')"
# 5. Copiar el resto del c贸digo asignando la propiedad al usuario final
COPY --chown=user . /app
USER user
# 6. Escuchar obligatoriamente en el puerto 7860 exigido por Hugging Face
EXPOSE 7860
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]