| |
| |
| |
| |
| |
| FROM python:3.11-slim |
|
|
| WORKDIR /code |
|
|
| |
| |
| RUN pip install --no-cache-dir --upgrade pip && \ |
| pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu |
|
|
| COPY ./requirements.txt /code/requirements.txt |
| RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt |
|
|
| |
| RUN useradd -m -u 1000 user |
| USER user |
| ENV HOME=/home/user \ |
| PATH=/home/user/.local/bin:$PATH |
|
|
| |
| ENV HF_HOME=/home/user/.cache/huggingface \ |
| DATA_DIR=/home/user/app/data \ |
| MODEL_NAME=typeform/distilbert-base-uncased-mnli \ |
| PRELOAD_MODEL=1 \ |
| PYTHONUNBUFFERED=1 |
|
|
| WORKDIR $HOME/app |
|
|
| |
| |
| RUN python -c "\ |
| from transformers import pipeline; \ |
| import os; \ |
| pipeline('zero-shot-classification', model=os.environ['MODEL_NAME'], device=-1)" \ |
| && echo "model cached" |
|
|
| COPY --chown=user . $HOME/app |
|
|
| RUN mkdir -p $HOME/app/data |
|
|
| EXPOSE 7860 |
|
|
| |
| CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"] |
|
|