|
1 | | -FROM python:3.9 |
| 1 | +FROM python:3.10 |
2 | 2 |
|
3 | 3 | WORKDIR /code |
4 | 4 |
|
5 | 5 | COPY ./app /code |
6 | 6 |
|
7 | | -RUN if [ -z "$(ls -A /code/models)" ]; then \ |
8 | | - echo "Error: No models found in /code/models" && exit 1; \ |
9 | | - fi |
| 7 | +# Clone BitNet with submodules directly into /code (ensures all files and submodules are present) |
| 8 | +RUN git clone --recursive https://github.com/microsoft/BitNet.git /tmp/BitNet && \ |
| 9 | + cp -r /tmp/BitNet/* /code && \ |
| 10 | + rm -rf /tmp/BitNet |
10 | 11 |
|
| 12 | +# Install dependencies |
11 | 13 | RUN apt-get update && apt-get install -y \ |
12 | 14 | wget \ |
13 | 15 | lsb-release \ |
14 | 16 | software-properties-common \ |
15 | 17 | gnupg \ |
16 | | - cmake && \ |
17 | | - bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" && \ |
18 | | - apt-get clean && \ |
19 | | - rm -rf /var/lib/apt/lists/* |
20 | | - |
21 | | -RUN git clone --recursive https://github.com/microsoft/BitNet.git /tmp/BitNet && \ |
22 | | - cp -r /tmp/BitNet/* /code && \ |
23 | | - rm -rf /tmp/BitNet |
| 18 | + cmake \ |
| 19 | + clang \ |
| 20 | + && bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" \ |
| 21 | + && apt-get clean \ |
| 22 | + && rm -rf /var/lib/apt/lists/* |
24 | 23 |
|
| 24 | +# Install Python dependencies |
25 | 25 | RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt && \ |
26 | | - pip install "fastapi[standard]" "uvicorn[standard]" |
27 | | - |
28 | | -RUN if [ -d "/code/models/Llama3-8B-1.58-100B-tokens" ]; then \ |
29 | | - python /code/setup_env.py -md /code/models/Llama3-8B-1.58-100B-tokens -q i2_s --use-pretuned && \ |
30 | | - find /code/models/Llama3-8B-1.58-100B-tokens -type f -name "*f32*.gguf" -delete; \ |
31 | | - fi |
32 | | - |
33 | | -RUN if [ -d "/code/models/bitnet_b1_58-large" ]; then \ |
34 | | - python /code/setup_env.py -md /code/models/bitnet_b1_58-large -q i2_s --use-pretuned && \ |
35 | | - find /code/models/bitnet_b1_58-large -type f -name "*f32*.gguf" -delete; \ |
36 | | - fi |
37 | | - |
38 | | -RUN if [ -d "/code/models/bitnet_b1_58-3B" ]; then \ |
39 | | - python /code/setup_env.py -md /code/models/bitnet_b1_58-3B -q i2_s --use-pretuned && \ |
40 | | - find /code/models/bitnet_b1_58-3B -type f -name "*f32*.gguf" -delete; \ |
41 | | - fi |
| 26 | + pip install "fastapi[standard]" "uvicorn[standard]" httpx fastapi-mcp |
| 27 | + |
| 28 | +# (Optional) Run your setup_env.py if needed |
| 29 | +RUN python /code/setup_env.py -md /code/models/BitNet-b1.58-2B-4T -q i2_s |
42 | 30 |
|
43 | 31 | EXPOSE 8080 |
44 | 32 |
|
|
0 commit comments