许多代理任务(例如财务计算和数据科学工作流)都需要代理生成和执行代码。借助 Agent Engine Code Execution,您的代理可以在安全、隔离且受管理的沙盒环境中运行代码。
Code Execution功能包括:
沙盒可以在不到一秒的时间内创建完毕并执行代码。
对于整个请求或响应,沙盒支持的文件输入和输出大小上限为 100MB。
沙盒最多可将其执行状态(内存)保留 14 天。此存留时间 (TTL) 设置是可配置的。
Code Execution 是 Vertex AI Agent Engine 套件的一部分。 不过,您无需将代理部署到 Vertex AI Agent Engine 即可使用 Code Execution。您的代理可以在任何位置运行,甚至在本地运行。
Code Execution适用于任何代理框架和任何生成模型。
以下是使用Code Execution沙盒的主要操作:
创建沙盒:创建一个安全、隔离的空间来运行不受信任或可能有害的代码。这种隔离可防止代码触及系统的资源、文件或网络,从而降低安全风险。当您需要安全地运行代码时(例如对于数据科学代理、编排脚本或在开发测试期间),沙盒至关重要。沙盒提供有限的文件系统,且无法访问网络。
获取沙盒:显示特定 Code Execution 沙盒的配置和状态。您可以查看其当前状态(例如正在运行或已停止)和存留时间 (TTL) 等详细信息。这样一来,您就可以跟踪沙盒,并在运行代码之前或之后验证其状态。
列出沙盒:列出项目中的所有Code Execution沙盒。您可以按沙盒状态或类型等条件过滤结果。 这有助于检查、监控和管理项目中的多个沙盒。
执行代码:将您的代码以及任何所需的输入文件发送到沙盒以安全执行。响应包含结果,例如标准输出 (
stdout)、标准错误 (stderr) 以及代码生成的任何文件。沙盒还可以维护状态,从而使后续的Execute Code调用能够基于之前的调用。对于需要在多次代码运行中保持状态的互动会话或复杂任务,这一点至关重要。
受支持的库
代码执行沙盒包含以下库。您无法安装自己的库。
attrs==25.3.0
chess==1.11.2
contourpy==1.3.1
fpdf==1.7.2
geopandas==1.0.1
imageio==2.37.0
jinja2==3.1.6
joblib==1.4.2
jsonschema==4.23.0
jsonschema-specifications==2024.10.1
lxml==5.3.1
matplotlib==3.10.1
mpmath==1.3.0
numpy==2.1.3
opencv-python==4.11.0.86
openpyxl==3.1.5
ortools==9.14.6206
packaging==24.0
pandas==2.2.3
pillow==11.1.0
plotly==6.1.2
protobuf==6.31.1
PyPDF2==3.0.1
pylatex==1.4.2
pyparsing==3.2.1
python-dateutil==2.9.0.post0
python-docx==1.1.2
python-pptx==1.0.2
reportlab==4.3.1
scikit-learn==1.6.1
scipy==1.15.2
seaborn==0.13.2
six==1.17.0
striprtf==0.0.28
sympy==1.13.3
tabulate==0.9.0
tensorflow==2.20.0
toolz==1.0.0
xlrd==2.0.1
XlsxWriter==3.2.0