Cross-Encoder / Dockerfile
fiewolf1000's picture
Update Dockerfile
d863826 verified
raw
history blame
1.16 kB
# 1. 基础镜像:选择 Python 3.10(适配 transformers、torch 等库的稳定版本)
FROM python:3.10-slim
# 2. 设置工作目录(避免文件混乱)
WORKDIR /app
# 3. 安装系统依赖(解决 torch、transformers 依赖的底层库问题)
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
g++ \
&& rm -rf /var/lib/apt/lists/*
# 4. 复制依赖文件并安装 Python 库(先复制 requirements.txt 可利用 Docker 缓存,加速后续构建)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 5. 复制所有应用代码(包括 app.py)
COPY . .
# 6. 设置环境变量(可选,用于指定模型加载设备、日志级别等)
# 说明:PYTHONUNBUFFERED=1 确保日志实时输出;TORCH_DEVICE 仅为标识,实际以代码检测为准
ENV PYTHONUNBUFFERED=1
ENV TORCH_DEVICE=cuda
# 7. 暴露端口(Hugging Face Spaces 会自动映射该端口,需与 app.py 中 uvicorn 端口一致)
EXPOSE 7860
# 8. 启动命令(启动 uvicorn 服务,确保进程前台运行)
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]