evalscope_v0.17.0/Dockerfile.old

66 lines
1.9 KiB
Docker
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

########################
# 1⃣ Build stage
########################
FROM python:3.10-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# 安装系统依赖
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
git \
curl && \
rm -rf /var/lib/apt/lists/*
WORKDIR /build
# 拷贝 requirements 并安装依赖
COPY evalscope.0.17.0/requirements ./evalscope/requirements
# 更新 pip并提前装 antlr4-runtime
RUN pip install --upgrade pip setuptools wheel && \
pip install --no-cache-dir --prefix=/install antlr4-python3-runtime==4.9.3
# 安装 EvalScope 所有依赖到 /install
RUN pip install --no-cache-dir --prefix=/install \
-r ./evalscope/requirements/framework.txt \
-r ./evalscope/requirements/opencompass.txt \
-r ./evalscope/requirements/vlmeval.txt \
-r ./evalscope/requirements/aigc.txt \
-r ./evalscope/requirements/app.txt \
-r ./evalscope/requirements/dev.txt \
-r ./evalscope/requirements/docs.txt \
-r ./evalscope/requirements/perf.txt \
-r ./evalscope/requirements/rag.txt
# 安装 EvalScope 本体
COPY evalscope.0.17.0/ ./evalscope
RUN pip install --no-cache-dir --prefix=/install ./evalscope
# ✅ 加这一段
RUN pip install --no-cache-dir --prefix=/install nltk && \
PYTHONPATH=/install/lib/python3.10/site-packages \
python3 -m nltk.downloader -d /nltk_data punkt
# 拷贝入口文件
COPY gradio_ui.py .
########################
# 2⃣ Runtime stage
########################
FROM python:3.10-slim AS runtime
ENV DEBIAN_FRONTEND=noninteractive
# 拷贝构建阶段所有已安装包
COPY --from=builder /install /usr/local
COPY --from=builder /nltk_data /usr/local/nltk_data
COPY --from=builder /build/gradio_ui.py /app/gradio_ui.py
WORKDIR /app
EXPOSE 7900 7901
# 防止 runtime 安装时产生缓存垃圾
ENV PIP_NO_CACHE_DIR=1
CMD ["python3", "gradio_ui.py"]