Finish-him's picture
Update Dockerfile
4662e37 verified
# Usa uma imagem base mais recente e suportada
FROM python:3.9-slim-bookworm
# Define o diretório de trabalho
WORKDIR /app
# --- ETAPA 1: INSTALAR O GIT E CLONAR O SEU DATASET COMPLETO ---
RUN apt-get update && apt-get install -y git git-lfs && git-lfs install
RUN git clone https://huggingface.co/spaces/Finish-him/prometheus-embedding-generator ./dados && cd dados && git lfs pull
# --- ETAPA 2: CONFIGURAR O AMBIENTE PYTHON E PRÉ-AQUECER O CACHE ---
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# Define o caminho da cache
ENV HF_HOME=/app/cache/huggingface
ENV SENTENCE_TRANSFORMERS_HOME=/app/cache/torch
RUN mkdir -p $HF_HOME && mkdir -p $SENTENCE_TRANSFORMERS_HOME
# Pré-aquece o cache com o modelo e5-large
RUN python -c "import os; from sentence_transformers import SentenceTransformer; SentenceTransformer('intfloat/multilingual-e5-large', cache_folder=os.environ.get('SENTENCE_TRANSFORMERS_HOME', '/app/cache/torch'))"
# --- ETAPA 3: PREPARAR DIRETÓRIOS E COPIAR SCRIPT ---
# *** A CORREÇÃO ESTÁ AQUI ***
# Cria os diretórios necessários e dá permissão ao usuário padrão (1000)
RUN mkdir -p /app/dados_extraidos && \
mkdir -p /app/output && \
chown -R 1000:1000 /app/dados_extraidos /app/output /app/cache
# Copia o script de treinamento
COPY train.py .
# --- ETAPA 4: EXECUTAR O SCRIPT ---
# Executa o script e, após o término, mantém o contêiner a correr.
CMD ["sh", "-c", "python train.py && sleep infinity"]