Files
sci-gui-agent-benchmark/desktop_env/providers/volcengine/VOLCENGINE_GUIDELINE_CN.md
2025-08-15 18:53:13 +08:00

5.5 KiB
Raw Blame History

火山引擎ECS提供商配置指南

本指南介绍如何为OSWorld桌面环境配置和使用火山引擎ECS。

配置流程

  1. 火山引擎账户您需要一个有效的火山引擎账户本脚本默认ECS通过按量付费方式拉起需保证账户余额在100以上。
  2. 访问密钥在火山引擎IAM控制台中创建AccessKey ID和SecretAccessKey并授权ECS控制权限
  3. VPC设置在目标地域创建VPC、子网和安全组
  4. 自定义镜像创建OSWorld自定义镜像
  5. 建议手动完成一次ECS创建流程后记录所有需要的环境变量信息。

环境变量

在您的.env文件中设置以下环境变量:

# 火山引擎访问凭证
VOLCENGINE_ACCESS_KEY_ID=your_access_key_id
VOLCENGINE_SECRET_ACCESS_KEY=your_secret_access_key

# ECS配置信息
VOLCENGINE_REGION=eu-central-1
VOLCENGINE_IMAGE_ID=your_image_id
VOLCENGINE_INSTANCE_TYPE=ecs.e-c1m2.large
VOLCENGINE_SUBNET_ID=subnet-xxxxxxxxx
VOLCENGINE_SECURITY_GROUP_ID=sg-xxxxxxxxx
VOLCENGINE_ZONE_ID=zone-xxxxxxxxx
VOLCENGINE_DEFAULT_PASSWORD=your_default_password

所需火山引擎资源

1. VPC和子网

  • 在目标地域创建VPC
  • 在VPC内创建子网
  • 确保子网具有互联网访问能力以支持VNC连接

2. 安全组

⚠️ 重要提示请严格按照以下端口设置以防止OSWorld任务因连接问题而失败

入方向规则需要8条规则

类型 协议 端口范围 源地址 描述
SSH TCP 22 0.0.0.0/0 SSH访问
HTTP TCP 80 172.31.0.0/16 HTTP流量
自定义TCP TCP 5000 172.31.0.0/16 OSWorld后端服务
自定义TCP TCP 5910 0.0.0.0/0 NoVNC可视化端口
自定义TCP TCP 8006 172.31.0.0/16 VNC服务端口
自定义TCP TCP 8080 172.31.0.0/16 VLC服务端口
自定义TCP TCP 8081 172.31.0.0/16 附加服务端口
自定义TCP TCP 9222 172.31.0.0/16 Chrome控制端口

出方向规则需要1条规则

类型 协议 端口范围 目标地址 描述
全部流量 全部 全部 0.0.0.0/0 允许所有出站流量

3. 自定义镜像

您需要为火山引擎ECS创建自定义OSWorld镜像。请按照"为OSWorld创建自定义ECS镜像"部分的说明进行操作。

为OSWorld创建自定义ECS镜像

本部分提供如何创建OSWorld桌面环境所需的自定义ECS镜像的指导。该过程包括设置带有桌面环境和VNC服务器的基础实例然后从中创建自定义镜像。

分步镜像创建过程

步骤1上传现有qcow2镜像到火山引擎

  • desktop_env/providers/docker/manager.py中的链接下载提供的qcow2镜像https://huggingface.co/datasets/xlangai/ubuntu_osworld/resolve/main/Ubuntu.qcow2.zip
  • 解压下载的文件并上传到火山引擎对象存储服务TOS。确保TOS与您要启动ECS实例的目标地域在同一地域。
  • 在您的ECS控制台中转到"镜像"页面,您将看到"导入镜像"按钮。点击它并按照说明从TOS导入qcow2镜像。
  • 导入完成后,您将在"镜像"列表中看到导入的镜像。

步骤2创建新镜像

请注意您在步骤1中创建的镜像分辨率与您想要用于OSWorld的分辨率1920x1080不同。我们需要自定义镜像以具有正确的分辨率并设置noVNC。

  • 转到"实例"选项卡,使用导入的镜像创建新实例。
  • 通过VNC连接到正在运行的实例。
  • 连接到实例后,请打开终端并下载此配置脚本:https://gist.githubusercontent.com/qykong/bea58ff98f20057d3a69921276dd4553/raw/cd1a91a0840c4192d793f43cfb90553370343b08/config.sh
  • 运行脚本并重启您的实例。
  • 重启后实例将具有正确的分辨率和noVNC设置。您可以通过"http://<your_instance_public_ip>:5910/vnc.html"连接到实例确保您的安全组允许端口5910
  • 将正在运行的实例保存为新镜像。新镜像将用作OSWorld镜像。

使用说明

启动OSWorld任务

python run_multienv_qwen25vl.py \
    --provider_name volcengine \
    --region eu-central-1 \
    --num_envs 2 \
    --model qwen2.5-vl-72b-instruct \
    --action_space pyautogui \
    --observation_type screenshot \
    --max_steps 15 \
    --domain chrome

监控实例状态

  • 在火山引擎控制台中查看实例运行状态
  • 通过VNC URL访问远程桌面http://<public_ip>:5910/vnc.html
  • 查看日志文件了解任务执行情况

清理资源

  • 任务完成后,实例会自动终止
  • 如需手动清理,可在控制台中删除相关实例
  • 建议定期清理不再使用的镜像以节省存储成本

故障排除

常见问题

  1. 实例启动失败检查账户余额、镜像ID和实例类型配置
  2. VNC连接失败确认安全组端口5910已开放
  3. 网络连接问题:验证子网配置和路由表设置
  4. 镜像导入失败检查TOS权限和镜像格式

日志查看

  • 查看控制台日志:logs/normal-YYYYMMDD@HHMMSS.log
  • 查看调试日志:logs/debug-YYYYMMDD@HHMMSS.log
  • 查看实例系统日志通过VNC连接查看系统日志

成本优化建议

  1. 实例类型选择:根据任务复杂度选择合适的实例类型
  2. 镜像优化:定期清理未使用的镜像
  3. 批量任务:合理设置并发数量以平衡性能和成本
  4. 监控使用:定期查看资源使用情况,及时调整配置