File size: 1,199 Bytes
fb8f2dc
 
 
9b19015
9c34cdf
9b19015
 
 
 
 
 
 
 
dae957b
 
9b19015
4660874
8f0525e
 
4660874
 
 
fb8f2dc
 
 
 
 
 
 
 
 
 
9b19015
 
 
cc8a450
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 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"]