Spaces:
Runtime error
Runtime error
| # Define the image argument and provide a default value | |
| ARG IMAGE=python:3-slim-bullseye | |
| # Use the image as specified | |
| FROM ${IMAGE} | |
| # Re-declare the ARG after FROM | |
| ARG IMAGE | |
| # Update and upgrade the existing packages | |
| RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \ | |
| python3 \ | |
| python3-pip \ | |
| ninja-build \ | |
| build-essential | |
| RUN python3 -m pip install --upgrade pip pytest cmake scikit-build setuptools fastapi uvicorn sse-starlette pydantic-settings starlette-context | |
| # Perform the conditional installations based on the image | |
| RUN echo "Image: ${IMAGE}" && \ | |
| if [ "${IMAGE}" = "python:3-slim-bullseye" ] ; then \ | |
| echo "OpenBLAS install:" && \ | |
| apt-get install -y --no-install-recommends libopenblas-dev && \ | |
| LLAMA_OPENBLAS=1 pip install llama-cpp-python --verbose; \ | |
| else \ | |
| echo "CuBLAS install:" && \ | |
| LLAMA_CUBLAS=1 pip install llama-cpp-python --verbose; \ | |
| fi | |
| # Clean up apt cache | |
| RUN rm -rf /var/lib/apt/lists/* | |
| # Set a working directory for better clarity | |
| WORKDIR /app | |
| # Copy files to the app directory | |
| RUN echo "Installing model...this can take some time..." | |
| COPY ./model.bin /app/model.bin | |
| COPY ./start_server.sh /app/start_server.sh | |
| # Make the server start script executable | |
| RUN chmod +x /app/start_server.sh | |
| # Set environment variable for the host | |
| ENV HOST=0.0.0.0 | |
| # Expose a port for the server | |
| EXPOSE 8000 | |
| # Run the server start script | |
| CMD ["/bin/sh", "/app/start_server.sh"] | |