配置本地E2B SDK执行环境
AgentSphere提供了安全隔离的云上沙箱环境,支持代码执行、文件管理和命令运行等能力,广泛应用于AI Agent代码解释器、自动化测试、数据处理等场景。为了降低迁移成本,AgentSphere兼容了E2B SDK,您可以复用已有的E2B工作流和示例代码,仅需修改环境变量即可无缝切换到AgentSphere沙箱服务。
前提条件
- 已开通AgentSphere服务,并获取API Key。获取方式请参见创建API Key。
- 已创建沙箱模板,并获取模板ID。创建方式请参见创建沙箱模板。
- 已安装Python,且Python版本满足E2B SDK要求,版本要求详见e2b及e2b-code-interpreter。
- 已安装E2B SDK,安装命令如下:
pip install e2b==2.42.0 pip install e2b-code-interpreter==2.9.1
建议使用e2b和e2b-code-interpreter指定版本。
- 给E2B SDK安装Patch文件,操作如下:
wget https://raw.githubusercontent.com/skyao/agentsphere-e2b-patch-python/main/dist/agentsphere_e2b_patch-0.1.0-py3-none-any.whl pip install ./agentsphere_e2b_patch-0.1.0-py3-none-any.whl
配置环境变量
| 环境变量 | 说明 | 获取方式 |
|---|---|---|
| E2B_API_URL | AgentSphere管理面的访问地址,即API Server通过APIGW对外暴露的地址。 | 不同区域的访问地址不同,请通过API访问地址查询。 |
| E2B_SANDBOX_URL | AgentSphere数据面的访问地址,即模板所使用的Agent Gateway实例的公网域名。 | 在AgentSphere控制台中找到对应的“沙箱模板”,然后单击模板名称进入详情页,在“网络配置”中查看其入站网关的“公网域名”。 |
| E2B_API_KEY | 访问AgentSphere管理面的API Key,作为认证凭据。 | 在AgentSphere控制台的“API Key管理”页面创建并获取,详情请参见创建API Key。 |
- E2B_SANDBOX_URL必须与您创建沙箱实例时所使用的模板绑定的Agent Gateway域名一致,否则数据面请求将无法到达沙箱实例。
- 请妥善保管API Key,切勿硬编码在代码中或提交到版本控制系统,建议通过环境变量或密钥管理服务注入。
您可以通过以下三种方式设置环境变量:
方式一:dotenv文件
在项目根目录下创建.env文件,配置环境变量:
E2B_API_URL=https://agentsphere.<region>.myhuaweicloud.com E2B_SANDBOX_URL=https://<your-sandbox-url>.huaweicloud-agentnetwork.com E2B_API_KEY=<your_api_key>
然后在Python代码中使用dotenv库加载环境变量,该方式下环境变量仅在当前代码运行范围内生效:
from dotenv import load_dotenv load_dotenv()
方式二:终端环境变量
在执行python代码的主机中设置环境变量
export E2B_API_URL=https://agentsphere.<region>.myhuaweicloud.com export E2B_SANDBOX_URL=https://<your-sandbox-url>.huaweicloud-agentnetwork.com export E2B_API_KEY=<your_api_key>
您也可以将以上命令添加到终端配置文件(如~/.bashrc)中,使其在所有终端会话中全局生效。
方式三:内嵌环境变量
在代码中通过os模块直接设置环境变量,该方式下环境变量仅在当前代码运行范围内生效:
import os os.environ["E2B_API_URL"] = "https://agentsphere.<region>.myhuaweicloud.com" os.environ["E2B_SANDBOX_URL"] = "https://<your-sandbox-url>.huaweicloud-agentnetwork.com" os.environ["E2B_API_KEY"] = "<your_api_key>"
使用内嵌环境变量时,请确保在导入E2B模块之前完成环境变量设置,否则SDK可能在初始化时读取到空值。
API访问地址
不同区域调用AgentSphere API的访问地址不同,如下表所示,请您根据业务需要选择对应区域的访问地址。
| 区域名称 | 区域 | API访问地址 |
|---|---|---|
| 华北-北京四 | cn-north-4 |
|
| 华南-广州 | cn-south-1 |
|
| 西南-贵阳一 | cn-southwest-2 |
|
相关文档
- E2B SDK官方文档:了解E2B SDK的完整接口说明和更多用法示例。
- 如果在使用SDK时遇到连接失败、认证错误等问题,请先检查环境变量配置是否正确,特别是E2B_API_URL、E2B_SANDBOX_URL和E2B_API_KEY是否与控制台中的信息一致。