StarrySkyWorld commited on
Commit
ac100ab
·
verified ·
1 Parent(s): 4c12b60

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +31 -22
Dockerfile CHANGED
@@ -1,28 +1,37 @@
1
- # 使用专门针对推理优化的基础镜像 (如果使用 CPU 环境,请告知,我会替换为 llama-cpp 案)
2
- FROM vllm/vllm-openai:latest
 
 
 
 
 
 
 
3
 
4
  # 设置工作目录
5
  WORKDIR /app
6
 
7
- # 设置环境变量
8
- # HF_HOME于存放模型缓存
9
- ENV HF_HOME=/data \
10
- VLLM_CACHE=/data \
11
- PORT=7860
12
 
13
- # 暴露端口 (HF Spaces 默认 7860)
14
- EXPOSE 7860
 
 
 
 
 
 
15
 
16
- # 极致速度优化参数说明:
17
- # --model: 模型路径
18
- # --max-model-len: 限制长度以节省显存/提升速度
19
- # --device: 指定设备 (auto/cpu/cuda)
20
- # --enforce-eager: 对于极小模型,强制 eager 模式有时比图捕获更快
21
- # --disable-log-requests: 减少日志 IO 开销
22
- ENTRYPOINT python3 -m vllm.entrypoints.openai.api_server \
23
- --model HuggingFaceTB/SmolLM2-135M \
24
- --max-model-len 2048 \
25
- --port 7860 \
26
- --host 0.0.0.0 \
27
- --tensor-parallel-size 1 \
28
- --disable-log-requests
 
1
+ # 使用 Python 镜像
2
+ FROM python:3.11-slim
3
+
4
+ # 安装构建 llama-cpp 所需的系统依赖
5
+ RUN apt-get update && apt-get install -y \
6
+ build-essential \
7
+ python3-dev \
8
+ wget \
9
+ && rm -rf /var/lib/apt/lists/*
10
 
11
  # 设置工作目录
12
  WORKDIR /app
13
 
14
+ # 安装 llama-cpp-python (带 OpenAI 服务器支持)
15
+ # 注意:我们这里安装的是纯 CPU 版本,针对通 CPU 指令集进行了优化
16
+ RUN pip install --no-cache-dir "llama-cpp-python[server]"
 
 
17
 
18
+ # 在构建阶段下载 GGUF 模型文件,避免启动时下载导致超时
19
+ # 这里下载 Q8_0 (8-bit) 量化版本,在 CPU 上速度与精度的平衡点最好
20
+ RUN wget -q https://huggingface.co/HuggingFaceTB/SmolLM2-135M-Instruct-GGUF/resolve/main/smollm2-135m-instruct-q8_0.gguf
21
+
22
+ # 设置环境变量
23
+ ENV HOST=0.0.0.0
24
+ ENV PORT=7860
25
+ ENV MODEL=/app/smollm2-135m-instruct-q8_0.gguf
26
 
27
+ # 极致速度参数说明:
28
+ # --n_threads: 线程数。HF 免费层通常提供 2-8 核,设置为 2 或空(自动检测)即可
29
+ # --n_ctx: 上下文长度,设为 2048 足够 SmolLM2 使用
30
+ # --interrupt_requests: 允许中断请求
31
+ ENTRYPOINT python3 -m llama_cpp.server \
32
+ --model $MODEL \
33
+ --host $HOST \
34
+ --port $PORT \
35
+ --n_threads 2 \
36
+ --n_ctx 2048 \
37
+ --chat_format chatml