FROM python:3.10-slim | |
WORKDIR /code | |
# Install system dependencies | |
RUN apt-get update && apt-get install -y \ | |
gcc \ | |
g++ \ | |
git \ | |
wget \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Set environment variables | |
ENV TRANSFORMERS_CACHE=/code/cache | |
ENV HF_HOME=/code/cache | |
ENV TOKENIZERS_PARALLELISM=false | |
# Copy requirements first for better caching | |
COPY requirements.txt /code/requirements.txt | |
# Install Python dependencies | |
RUN pip install --no-cache-dir --upgrade pip | |
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt | |
# Download models at build time to avoid runtime delays | |
RUN python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')" | |
# Copy the application code | |
COPY . /code | |
# Create cache directory | |
RUN mkdir -p /code/cache | |
# Expose port 7860 for Hugging Face Spaces | |
EXPOSE 7860 | |
# Run the application | |
CMD ["python", "app1.py"] |