llama.cpp/Dockerfile

27 lines
1.3 KiB
Text
Raw Normal View History

FROM intel/python:latest
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update && \
apt install -y --no-install-recommends software-properties-common gnupg apt-utils git && \
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list && \
apt update && \
apt install intel-oneapi-mkl -y --no-install-recommends
RUN apt install intel-oneapi-compiler-dpcpp-cpp intel-oneapi-mkl-devel gcc g++ pkg-config cmake -y --no-install-recommends && \
. /opt/intel/oneapi/setvars.sh && \
export CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_NATIVE=1 -DLLAMA_LTO=1 -DLLAMA_BLAS_VENDOR=Intel10_64lp -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx" && \
export FORCE_CMAKE=1 && \
pip install git+https://git.baalajimaestro.me/baalajimaestro/llama.cpp.git fastapi uvicorn sse-starlette pydantic-settings starlette-context && \
apt remove intel-oneapi-compiler-dpcpp-cpp intel-oneapi-mkl-devel gcc g++ pkg-config cmake -y && \
apt autoremove -y
ADD entrypoint.sh /
EXPOSE 8000
ENV HOST 0.0.0.0
ENTRYPOINT ["/entrypoint.sh"]