lastmass commited on
Commit
242707c
·
verified ·
1 Parent(s): 5ec6cc3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -13
Dockerfile CHANGED
@@ -1,36 +1,53 @@
1
- # 使用与原版一致的基础镜像
 
 
2
  FROM python:3.11-slim
3
 
4
- # 1. 安装必要的运行时依赖,并根据你的要求加入编译工具
5
  RUN apt-get update && apt-get install -y \
 
6
  wget \
7
  git \
 
8
  build-essential \
9
  cmake \
 
 
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
- # 2. 升级 pip 工具本身
13
  RUN pip install --upgrade pip
14
 
15
- # 3. 使用官方 extra-index-url 来安装所有包,这是我们成功的关键
16
- RUN pip install --no-cache-dir --only-binary :all: \
17
- gradio \
18
- huggingface-hub \
19
- llama-cpp-python \
20
- --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
 
 
 
 
 
 
 
 
21
 
22
- # 4. 设置模型路径 (保持不变)
 
 
 
23
  ENV MODEL_REPO="mradermacher/Qwen3_Medical_GRPO-i1-GGUF"
24
  ENV MODEL_FILE="Qwen3_Medical_GRPO.i1-Q4_K_M.gguf"
25
  ENV MODEL_DIR="/models"
26
  ENV MODEL_PATH="${MODEL_DIR}/${MODEL_FILE}"
27
 
28
- # 5. 创建模型目录 (保持不变)
29
  RUN mkdir -p /models
30
 
31
- # 6. 复制应用文件
32
  COPY app.py /app/app.py
33
  WORKDIR /app
34
 
35
- # 7. 启动 Gradio 应用
36
  CMD ["python", "app.py"]
 
1
+ # ------------------------------------------------------------------
2
+ # Dockerfile based on building from source with OpenBLAS
3
+ # ------------------------------------------------------------------
4
  FROM python:3.11-slim
5
 
6
+ # 1. 安装所有依赖:运行时依赖 + 编译工具 + OpenBLAS 开发库
7
  RUN apt-get update && apt-get install -y \
8
+ # 运行时
9
  wget \
10
  git \
11
+ # 编译时
12
  build-essential \
13
  cmake \
14
+ # BLAS 加速库
15
+ libopenblas-dev \
16
  && rm -rf /var/lib/apt/lists/*
17
 
18
+ # 2. 升级 pip
19
  RUN pip install --upgrade pip
20
 
21
+ # 3. 克隆源码并使用特定参数进行编译安装(这是核心步骤)
22
+ # 我们将所有命令放在一个 RUN 层里,以确保环境变量生效
23
+ RUN set -e && \
24
+ # 克隆最新的源码到 /tmp 目录
25
+ cd /tmp && \
26
+ git clone --recursive https://github.com/abetlen/llama-cpp-python.git && \
27
+ cd llama-cpp-python && \
28
+ # 更新底层的 llama.cpp submodule 到最新
29
+ git submodule update --remote vendor/llama.cpp && \
30
+ # 设置环境变量并从本地源码安装
31
+ FORCE_CMAKE=1 CMAKE_ARGS="-DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS -DLLAMA_CURL=OFF" \
32
+ pip install . --upgrade --force-reinstall --no-cache-dir && \
33
+ # 清理源码,减小镜像体积
34
+ rm -rf /tmp/llama-cpp-python
35
 
36
+ # 4. 安装其他 Python 依赖
37
+ RUN pip install --no-cache-dir gradio huggingface-hub
38
+
39
+ # 5. 设置模型路径 (保持不变)
40
  ENV MODEL_REPO="mradermacher/Qwen3_Medical_GRPO-i1-GGUF"
41
  ENV MODEL_FILE="Qwen3_Medical_GRPO.i1-Q4_K_M.gguf"
42
  ENV MODEL_DIR="/models"
43
  ENV MODEL_PATH="${MODEL_DIR}/${MODEL_FILE}"
44
 
45
+ # 6. 创建模型目录 (保持不变)
46
  RUN mkdir -p /models
47
 
48
+ # 7. 复制应用文件
49
  COPY app.py /app/app.py
50
  WORKDIR /app
51
 
52
+ # 8. 启动 Gradio 应用
53
  CMD ["python", "app.py"]