Spaces:
Running
Running
| # Use an official Python runtime as a parent image | |
| FROM python:3.12-slim | |
| # Install system dependencies needed to compile BitNet | |
| RUN apt-get update && apt-get install -y \ | |
| cmake \ | |
| clang \ | |
| build-essential \ | |
| git \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Set up a working directory | |
| WORKDIR /app | |
| # Clone the BitNet repo | |
| RUN git clone --recursive https://github.com/microsoft/BitNet.git . | |
| # Apply your proven source code fix | |
| RUN sed -i 's/int8_t \* y_col =/const int8_t * y_col =/g' src/ggml-bitnet-mad.cpp | |
| # Install Python requirements | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| RUN pip install --no-cache-dir gradio huggingface_hub | |
| # Pre-download the model into the image so the Space boots up instantly | |
| RUN python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='microsoft/bitnet-b1.58-2B-4T-gguf', filename='ggml-model-i2_s.gguf', local_dir='models/BitNet-b1.58-2B-4T')" | |
| # Compile the high-performance kernels | |
| RUN export CC=clang && export CXX=clang++ && python3 setup_env.py -md models/BitNet-b1.58-2B-4T -q i2_s | |
| # Copy your local app code into the container | |
| COPY app.py . | |
| # Expose the standard port Hugging Face looks for | |
| EXPOSE 7860 | |
| # Run the Gradio interface | |
| CMD ["python3", "app.py"] |