From c833d03a4bd6a262dea426645771d5a624641303 Mon Sep 17 00:00:00 2001 From: SaiLong Li Date: Fri, 15 Aug 2025 20:17:52 +0800 Subject: [PATCH] feat: Update eip charge type to 'PayByTraffic' for volcengine. (#308) Co-authored-by: lisailong --- .../volcengine/VOLCENGINE_GUIDELINE_CN.md | 61 +------------------ desktop_env/providers/volcengine/manager.py | 2 +- 2 files changed, 4 insertions(+), 59 deletions(-) diff --git a/desktop_env/providers/volcengine/VOLCENGINE_GUIDELINE_CN.md b/desktop_env/providers/volcengine/VOLCENGINE_GUIDELINE_CN.md index a180910..9690b89 100644 --- a/desktop_env/providers/volcengine/VOLCENGINE_GUIDELINE_CN.md +++ b/desktop_env/providers/volcengine/VOLCENGINE_GUIDELINE_CN.md @@ -20,8 +20,8 @@ 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_REGION=ap-southeast-1 +VOLCENGINE_IMAGE_ID=image-xxxxxxxxx VOLCENGINE_INSTANCE_TYPE=ecs.e-c1m2.large VOLCENGINE_SUBNET_ID=subnet-xxxxxxxxx VOLCENGINE_SECURITY_GROUP_ID=sg-xxxxxxxxx @@ -65,63 +65,8 @@ VOLCENGINE_DEFAULT_PASSWORD=your_default_password 本部分提供如何创建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://:5910/vnc.html"连接到实例(确保您的安全组允许端口5910)。 -- 将正在运行的实例保存为新镜像。新镜像将用作OSWorld镜像。 - -## 使用说明 - -### 启动OSWorld任务 -```bash -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://: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. **监控使用**:定期查看资源使用情况,及时调整配置 diff --git a/desktop_env/providers/volcengine/manager.py b/desktop_env/providers/volcengine/manager.py index de85788..4381955 100644 --- a/desktop_env/providers/volcengine/manager.py +++ b/desktop_env/providers/volcengine/manager.py @@ -95,7 +95,7 @@ def _allocate_vm(screen_size=(1920, 1080)): )], eip_address=ecs_models.EipAddressForRunInstancesInput( bandwidth_mbps = 5, - charge_type = "PayByBandwidth", + charge_type = "PayByTraffic", ), instance_name = f"osworld-{os.getpid()}-{int(time.time())}", volumes=[ecs_models.VolumeForRunInstancesInput(