# Grab a fresh copy of the Python image | |
FROM python:3.10-slim | |
# Install build and runtime dependencies | |
RUN apt-get update && \ | |
apt-get install -y \ | |
libopenblas-dev \ | |
ninja-build \ | |
build-essential \ | |
pkg-config \ | |
curl | |
RUN pip install -U pip setuptools wheel && \ | |
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" FORCE_CMAKE=1 pip install --verbose llama-cpp-python[server] | |
# Download model | |
RUN mkdir model && \ | |
curl -L https://huggingface.co/TheBloke/orca_mini_v3_13B-GGML/resolve/main/orca_mini_v3_13b.ggmlv3.q5_K_S.bin -o model/ggmlv3-model.bin | |
COPY ./start_server.sh ./ | |
COPY ./main.py ./ | |
COPY ./index.html ./ | |
# Make the server start script executable | |
RUN chmod +x ./start_server.sh | |
# Set environment variable for the host | |
ENV HOST=0.0.0.0 | |
ENV PORT=7860 | |
# Expose a port for the server | |
EXPOSE ${PORT} | |
# Run the server start script | |
CMD ["/bin/sh", "./start_server.sh"] |