运行环境定义工具调用的执行沙箱。在控制台环境页面创建和管理,可被多个会话复用。
警告阿里云百炼托管的沙箱容器涉及基础云资源和服务,使用时应特别遵守《阿里云产品服务协议》第 6 条关于网络和数据安全的约定,不应安装、使用盗版软件等,并对自行安装的软件和进行的操作所引起的结果承担全部责任。
类型
| 类型 | 说明 |
|---|---|
| 云端 | 由阿里云百炼托管的沙箱容器,开箱即用,可被多个会话复用。配置预装包后可能需要预热,见环境预热 |
配置字段
在环境页面点击添加环境,填写以下字段:
| 字段 | 必填 | 可变更 | 说明 |
|---|---|---|---|
| 名称 | 是 | 是 | 工作空间内唯一标识 |
| 描述 | 否 | 是 | 环境用途说明 |
| 托管类型 | 否 | 否 | cloud(云端),由阿里云百炼托管。创建后无法变更 |
| 预装包 | 否 | 是 | 按包管理器声明(apt / pip / npm),环境创建时自动安装 |
| 网络策略 | 否 | 是 | unrestricted 放行全部出站访问(仅 API 设置,控制台不显示) |
| 作用域 | 否 | 是 | organization(默认),工作空间成员均可使用(仅 API 设置,控制台不显示) |
| 元数据 | 否 | 是 | 自定义键值对(对应 API 的 metadata),不影响运行行为 |
通过 API 创建环境时,指定沙箱类型与预装包。完整参数与响应字段详见创建 Environment API。
curl -X POST "https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1/agentstudio/environments" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "data-sandbox",
"description": "数据分析沙箱",
"config": {
"type": "cloud",
"packages": {
"apt": ["ffmpeg"],
"pip": ["pandas", "numpy", "matplotlib"]
},
"networking": {"type": "unrestricted"}
}
}'
env = client.environments.create(
name="data-sandbox",
config={
"type": "cloud",
"networking": {"type": "unrestricted"},
"packages": {
"apt": ["ffmpeg"],
"pip": ["pandas", "numpy", "matplotlib"],
},
},
description="数据分析沙箱",
)
Environment env = client.environments().create(EnvironmentCreateParam.builder()
.name("data-sandbox")
.description("数据分析沙箱")
.build());
支持的包管理器
预装包按以下包管理器声明:
- apt:系统包,例如 ffmpeg
- pip:Python 包,例如 pandas、numpy
- npm:Node.js 包
环境预热
配置了预装包的环境,创建后可能需要预热时间安装依赖,耗时与包的数量和大小相关,可能持续数分钟以上。安装完成前环境处于准备中状态,不能被会话引用:此时创建会话返回 invalid_parameter,报错信息为 The environment is still being prepared. Please wait until it is ready and try again.。预热完成后即可正常绑定;未配置预装包的环境创建后立即可用。建议提前创建环境并预留预热时间,再绑定会话。
归档与删除
环境支持归档和删除两种操作:
- 归档:环境保留但默认不出现在列表中,已绑定的会话继续可用。
- 删除:硬删除,环境配置一并清除,不可恢复。如需保留配置请改用归档。
通过 API 归档环境,详见归档 Environment API。
curl -X POST "https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1/agentstudio/environments/env_xxx/archive" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY"
client.environments.archive("env_xxx")
client.environments().archive("env_xxx");
通过 API 删除环境,详见删除 Environment API:
curl -X DELETE "https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1/agentstudio/environments/env_xxx" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY"
client.environments.delete("env_xxx")
client.environments().delete("env_xxx");
下一步
该文章对您有帮助吗?