Files
chai-lab/Dockerfile
Olamide Isreal a191b6e192 Pin transformers<4.45 to fix EsmModel import at runtime
Chai-1 requires EsmModel from transformers top-level import.
Versions 4.45+ moved it, causing ImportError at runtime.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 17:54:19 +01:00

39 lines
1.4 KiB
Docker
Executable File

# Use PyTorch base image with CUDA support (much smaller than building from scratch)
FROM pytorch/pytorch:2.6.0-cuda12.4-cudnn9-runtime
# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive \
PYTHONUNBUFFERED=TRUE \
PYTHONFAULTHANDLER=1 \
MPLCONFIGDIR=/tmp/matplotlib \
CHAI_DOWNLOADS_DIR=/tmp/chai_downloads \
HF_HOME=/tmp/hf_home
# Set working directory
WORKDIR /workspace
# Install chai_lab and compatible transformers in a single layer
RUN pip install --no-cache-dir \
chai_lab==0.5.2 \
"transformers>=4.30.0,<4.45.0"
# Make package dirs writable for any user (K8s may run as non-root)
RUN chmod -R a+rw /opt/conda/lib/python3.11/site-packages/chai_lab/ && \
mkdir -p /opt/conda/lib/python3.11/site-packages/downloads && \
chmod -R a+rw /opt/conda/lib/python3.11/site-packages/downloads && \
mkdir -p /tmp/chai_downloads /tmp/hf_home /tmp/matplotlib && \
chmod -R 777 /tmp/chai_downloads /tmp/hf_home /tmp/matplotlib
# Verify installations
RUN python -c "import torch; print(f'PyTorch: {torch.__version__}')" && \
python -c "from transformers import EsmModel; print('EsmModel: OK')" && \
python -c "import chai_lab; print('chai_lab: OK')" && \
chai --help
# Add entry point script
COPY entrypoint.sh /workspace/
RUN chmod +x /workspace/entrypoint.sh
# Set entry point
ENTRYPOINT ["/workspace/entrypoint.sh"]