bc-agent-modle1 / Dockerfile
fiewolf1000's picture
Update Dockerfile
beb1eab verified
# 基础镜像:Python 3.10(兼容所有依赖,稳定性高)
FROM python:3.10-slim
# 工作目录(Spaces默认/app,统一路径)
WORKDIR /app
# 安装系统依赖(仅保留llama-cpp-python必需的编译工具)
# 安装系统依赖:完整的C/C++编译工具链 + cmake
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
&& rm -rf /var/lib/apt/lists/* # 清理缓存,减小镜像体积
# 复制修复后的requirements.txt
COPY requirements.txt .
# 关键:合并安装所有依赖,同时指定llama-cpp-python的CPU加速参数
# 避免重复安装,一次编译完成
RUN CMAKE_ARGS="-DLLAMA_AVX2=ON -DLLAMA_AVX=ON -DLLAMA_FMA=ON" \
pip install --no-cache-dir --force-reinstall \
llama-cpp-python==0.2.70 \
&& pip install --no-cache-dir -r requirements.txt \
&& pip install --upgrade pip
# 复制核心代码
COPY model_space.py .
# 创建模型缓存目录(给足权限,避免下载时权限错误)
RUN mkdir -p /app/models && chmod 777 /app/models
# 环境变量:解决中文乱码,优化日志
ENV PYTHONIOENCODING=utf-8
ENV LC_ALL=C.UTF-8
ENV LOG_LEVEL=INFO
# 暴露端口(必须与uvicorn端口一致)
EXPOSE 7860
# 启动命令(直接启动服务,无冗余参数)
CMD ["uvicorn", "model_space:app", "--host", "0.0.0.0", "--port", "7860", "--timeout-keep-alive", "300"]