oficina-llm-api / Dockerfile
Assirati's picture
Commit inicial da API de LLMs
b68a2ca
Raw
History Blame Contribute Delete
1.08 kB
# Utiliza a imagem oficial do Python 3.11 reduzida
FROM python:3.11-slim
# Variáveis de ambiente para otimização do Python e do Hugging Face Hub
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
HF_HOME=/home/user/.cache/huggingface
# Criação de usuário não-root obrigatório para o Hugging Face Spaces (UID 1000)
RUN useradd -m -u 1000 user
# Define o diretório de trabalho com permissões para o usuário
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR $HOME/app
# Cópia das dependências
COPY --chown=user requirements.txt .
# Instalação das dependências e da biblioteca de CPU do PyTorch para reduzir o tamanho da imagem
RUN pip install --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu
# Cópia do código-fonte do servidor
COPY --chown=user app/ app/
# O Hugging Face Spaces encaminha o tráfego exclusivamente para a porta 7860
EXPOSE 7860
# Comando de inicialização do servidor ASGI na porta exigida
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]