bearking58's picture
chore: try to move hf model loading to dockerfile
fb8f2dc
raw
history blame
1.2 kB
# HF Token args
ARG HF_TOKEN
# Use an official Python runtime as a base image
FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime
# Set the working directory in the container
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN apt-get update && apt-get install -y unzip \
&& pip install --no-cache-dir -r requirements.txt
# Download NLTK data
RUN python -m nltk.downloader punkt wordnet averaged_perceptron_tagger
# Unzip wordnet
RUN unzip /root/nltk_data/corpora/wordnet.zip -d /root/nltk_data/corpora/
# Download HuggingFace model
RUN python -c "from transformers import AutoTokenizer, AutoModelForCausalLM; \
tokenizer = AutoTokenizer.from_pretrained('google/gemma-2b', token='$HF_TOKEN'); \
model = AutoModelForCausalLM.from_pretrained('google/gemma-2b', token='$HF_TOKEN'); \
tokenizer.save_pretrained('/app/gemma-2b'); \
model.save_pretrained('/app/gemma-2b')"
# Model env
ENV MODEL_DIR=/app/gemma-2b
# Make port 8080 available to the world outside this container
EXPOSE 8080
# Run uvicorn
CMD ["uvicorn", "prediction:app", "--host", "0.0.0.0", "--port", "8080"]