Spaces:
Sleeping
Sleeping
ARG UBUNTU_VERSION=22.04 | |
ARG CUDA_VERSION=12.3.1 | |
ARG BASE_CUDA_DEV_CONTAINER=nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION} | |
ARG BASE_CUDA_RUN_CONTAINER=nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION} | |
FROM ${BASE_CUDA_DEV_CONTAINER} as build | |
ARG CUDA_DOCKER_ARCH=all | |
RUN apt-get update --fix-missing && \ | |
apt-get install -y --no-install-recommends git build-essential gcc cmake && \ | |
rm -rf /var/lib/apt/lists/* | |
WORKDIR /build | |
RUN git clone https://github.com/ggerganov/llama.cpp.git | |
WORKDIR /build/llama.cpp | |
RUN git checkout 821f0a271e7c9ee737945245dd7abfa22cc9b5b0 | |
ENV CUDA_DOCKER_ARCH=${CUDA_DOCKER_ARCH} | |
ENV LLAMA_CUBLAS=1 | |
RUN mkdir build && \ | |
cd build && \ | |
cmake .. -DLLAMA_CUBLAS=ON && \ | |
cmake --build . --config Release | |
FROM ${BASE_CUDA_RUN_CONTAINER} as runtime | |
RUN apt-get update --fix-missing && \ | |
apt-get install -y --no-install-recommends wget && \ | |
rm -rf /var/lib/apt/lists/* | |
WORKDIR /app | |
# Copy the executable from the build stage | |
COPY --from=build /build/llama.cpp/build/bin/server /app | |
COPY --from=build /build/llama.cpp/examples/server/public /app/public | |
COPY ./run.sh /app/run.sh | |
WORKDIR /app | |
EXPOSE 7867 | |
# Make the script executable | |
RUN chmod +x run.sh | |
# CMD to run your script | |
CMD ./run.sh |