From 6cb82bbc614d044da0c583c5807d6e6a41a537b0 Mon Sep 17 00:00:00 2001 From: sora <2075279110@qq.com> Date: Mon, 27 Jul 2026 05:43:39 +0000 Subject: [PATCH] Remove docker pull fallback for sandbox images; use ModelScope only --- README.md | 56 +++++++++++++++---------------------- scripts/deploy_evalscope.sh | 41 +-------------------------- 2 files changed, 23 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 81859d8..5efa558 100644 --- a/README.md +++ b/README.md @@ -115,31 +115,25 @@ sudo systemctl start docker docker load -i /data1/sora/evalscope/docker/evalscope-complete-py312.tar.gz # 5. 准备代码执行 sandbox 镜像(humaneval / bigcodebench 必须) -# 推荐:从 ModelScope 下载预打包的 sandbox 镜像(避免 DockerHub 限流/超时) +# 从 ModelScope 下载预打包的 sandbox 镜像(避免 DockerHub 限流/超时) python3 -c " -from modelscope.hub.file_download import model_file_download -model_file_download( - model_id='SoraAmami/evalscope-sandbox-images', - file_path='bigcodebench-sandbox.tar.gz', +from modelscope_hub import HubApi +api = HubApi() +api.download_file( + repo_id='SoraAmami/evalscope-sandbox-images', + repo_type='dataset', + path='bigcodebench-sandbox.tar.gz', local_dir='/data1/sora/evalscope/docker/sandbox_images' ) -model_file_download( - model_id='SoraAmami/evalscope-sandbox-images', - file_path='python-3.11-slim.tar.gz', +api.download_file( + repo_id='SoraAmami/evalscope-sandbox-images', + repo_type='dataset', + path='python-3.11-slim.tar.gz', local_dir='/data1/sora/evalscope/docker/sandbox_images' ) " docker load -i /data1/sora/evalscope/docker/sandbox_images/bigcodebench-sandbox.tar.gz docker load -i /data1/sora/evalscope/docker/sandbox_images/python-3.11-slim.tar.gz - -# 备选:如果 ModelScope 下载失败,再尝试从 DockerHub / 镜像站拉取 -# docker pull bigcodebench/bigcodebench-evaluate:latest -# docker build -t bigcodebench-sandbox:latest -f - . <<'EOF' -# FROM bigcodebench/bigcodebench-evaluate:latest -# ENTRYPOINT [] -# CMD ["tail", "-f", "/dev/null"] -# EOF -# docker pull python:3.11-slim ``` 验证: @@ -197,31 +191,25 @@ sudo systemctl start docker docker load -i /data1/sora/evalscope/docker/evalscope-complete-py312.tar.gz # 7. 准备代码执行 sandbox 镜像 -# 推荐:从 ModelScope 下载预打包的 sandbox 镜像(避免 DockerHub 限流/超时) +# 从 ModelScope 下载预打包的 sandbox 镜像(避免 DockerHub 限流/超时) python3 -c " -from modelscope.hub.file_download import model_file_download -model_file_download( - model_id='SoraAmami/evalscope-sandbox-images', - file_path='bigcodebench-sandbox.tar.gz', +from modelscope_hub import HubApi +api = HubApi() +api.download_file( + repo_id='SoraAmami/evalscope-sandbox-images', + repo_type='dataset', + path='bigcodebench-sandbox.tar.gz', local_dir='/data1/sora/evalscope/docker/sandbox_images' ) -model_file_download( - model_id='SoraAmami/evalscope-sandbox-images', - file_path='python-3.11-slim.tar.gz', +api.download_file( + repo_id='SoraAmami/evalscope-sandbox-images', + repo_type='dataset', + path='python-3.11-slim.tar.gz', local_dir='/data1/sora/evalscope/docker/sandbox_images' ) " docker load -i /data1/sora/evalscope/docker/sandbox_images/bigcodebench-sandbox.tar.gz docker load -i /data1/sora/evalscope/docker/sandbox_images/python-3.11-slim.tar.gz - -# 备选:如果 ModelScope 下载失败,再尝试从 DockerHub / 镜像站拉取 -# docker pull bigcodebench/bigcodebench-evaluate:latest -# docker build -t bigcodebench-sandbox:latest -f - . <<'EOF' -# FROM bigcodebench/bigcodebench-evaluate:latest -# ENTRYPOINT [] -# CMD ["tail", "-f", "/dev/null"] -# EOF -# docker pull python:3.11-slim ``` 验证: diff --git a/scripts/deploy_evalscope.sh b/scripts/deploy_evalscope.sh index 4e66f98..206d6e8 100755 --- a/scripts/deploy_evalscope.sh +++ b/scripts/deploy_evalscope.sh @@ -136,25 +136,7 @@ fi SANDBOX_IMAGES_DIR="$DOCKER_DIR/sandbox_images" mkdir -p "$SANDBOX_IMAGES_DIR" -# 函数:带超时拉取镜像,本地已有则跳过 -pull_with_timeout() { - local image="$1" - local timeout_sec="${2:-600}" - if docker images --format '{{.Repository}}:{{.Tag}}' | grep -qx "$image"; then - echo "镜像 $image 已存在,跳过 pull" - return 0 - fi - echo "拉取 $image (超时 ${timeout_sec}s)..." - if timeout "$timeout_sec" docker pull "$image"; then - echo "$image 拉取成功" - return 0 - else - echo "警告:$image 拉取失败或超时" - return 1 - fi -} - -# 优先从 ModelScope 下载预打包的 sandbox 镜像,避免 DockerHub 拉取慢/失败 +# 从 ModelScope 下载预打包的 sandbox 镜像(不再使用 docker pull,避免 DockerHub 限速) download_sandbox_image_from_modelscope() { local file="$1" if [ -f "$SANDBOX_IMAGES_DIR/$file" ]; then @@ -208,27 +190,6 @@ if ! docker images --format '{{.Repository}}:{{.Tag}}' | grep -qx "python:3.11-s fi fi -# 9.3 fallback:如果 ModelScope 失败,尝试从 DockerHub / 镜像站拉取 -if ! docker images --format '{{.Repository}}:{{.Tag}}' | grep -qx "bigcodebench-sandbox:latest"; then - echo "==> 尝试 fallback:拉取 bigcodebench 基础镜像并构建 sandbox..." - pull_with_timeout "bigcodebench/bigcodebench-evaluate:latest" 600 || true - if docker images --format '{{.Repository}}:{{.Tag}}' | grep -qx "bigcodebench/bigcodebench-evaluate:latest"; then - echo "==> 构建 bigcodebench-sandbox..." - mkdir -p /tmp/bigcodebench-sandbox-ctx - docker build -t bigcodebench-sandbox:latest -f - /tmp/bigcodebench-sandbox-ctx <<'EOF' || echo "警告:bigcodebench-sandbox 构建失败" -FROM bigcodebench/bigcodebench-evaluate:latest -ENTRYPOINT [] -CMD ["tail", "-f", "/dev/null"] -EOF - else - echo "警告:bigcodebench 基础镜像不存在,跳过 bigcodebench-sandbox 构建" - fi -fi - -if ! docker images --format '{{.Repository}}:{{.Tag}}' | grep -qx "python:3.11-slim"; then - pull_with_timeout "python:3.11-slim" 300 || true -fi - # -------------------------------------------------- # 10. 下载 SWE-Bench 镜像包(可选) # --------------------------------------------------