更新时间:2026-09-16 GMT+08:00
分享

创建代码解释器

创建沙箱工具允许用户在安全的环境中测试和验证智能体的功能,确保在实际部署前能够发现和解决问题。代码解释器能够理解并解释代码的逻辑,帮助用户更好地理解代码的运行机制和功能。

创建代码解释器有两种方式:

前提条件

  • 使用沙箱工具前需要先开通AgentArts服务并进行服务授权,请在“授权管理”页面进行云服务开通及授权,详细信息请参考授权管理。
  • (可选)管理员可在IAM控制台为创建的IAM子用户授予权限,授权后,子用户即可根据权限使用账号中的云服务资源,相关操作步骤如下。
    1. 创建IAM用户。
    2. 给IAM用户授权。
      • 为子用户授予完整的沙箱工具权限,需授予AgentArtsFullAccessPolicy及AgentIdentityFullAccessPolicy身份策略。
      • 创建自定义身份策略并授予如下权限,授权项功能介绍请参考表1。
        表1 授权项

        授权项

        功能介绍

        iam:agencies:pass

        授予向云服务传递委托的权限

        vpc:nativePorts:create

        授予原生API创建端口权限

        vpc:routeTables:update

        授予更新路由表权限

        vpc:nativePorts:delete

        授予原生API删除端口权限

        eip:publicIps:associateInstance

        授予将弹性公网IP绑定网卡的权限

        eip:publicIps:disassociateInstance

        授予将弹性公网IP解绑网卡的权限

        图1 授权策略

通过控制台创建代码解释器

支持用户在控制台上通过配置相关参数创建代码解释器。

  1. 在左侧导航栏选择“托管与运行 > 代码解释器”,进入代码解释器界面。
  2. 单击右上角“创建代码解释器”。
  3. 在“创建代码解释器”的弹框中,输入相关配置信息,参数说明请参考表2,配置完成后单击“立即创建”。

    表2 参数说明

    参数

    说明

    基本信息

    名称

    工具的名称,同一账号下沙箱工具名称不可重复,创建后不支持修改。

    命名规则:

    • 以小写字母开头,小写字母或数字结尾。
    • 名称中可包含数字、字母、中划线。
    • 长度为2~40个字符。

    系统会默认生成工具的名称,可根据需求自定义修改。

    描述

    用于对工具内容和用途的简要说明。

    规则:长度不大于4096个字符。

    权限与身份认证

    委托

    (可选)授予的代理权限或代理功能,允许代表智能体与外部系统进行通信和交互。

    可不填写,如需手动创建,请单击“创建委托”并参考如下配置创建。

    • 委托名称:自定义。
    • 信任主体类型:选择“云服务”。
    • 云服务:搜索service.WorkloadSandboxMetadata。
    • 其余参数使用默认值。
    图2 创建委托

    委托创建完成后可对委托进行授权,操作具体详情请参考创建委托并授权。

    入站身份认证

    配置代码解释器的身份认证方式。入站身份认证是指代码解释器在接收和处理来自智能体或SDK的请求时,对请求进行身份验证,确保只有经过验证的请求才能访问沙箱工具中的资源,提高系统的安全性和可靠性。

    支持以下认证方式:

    • IAM认证:将华为云IAM身份配置为入站身份认证,以验证调用者的身份。
    • API Key认证:通过接口的访问密钥进行身份验证和授权。系统会自动生成API Key的名称,可根据需求自定义修改。

      身份认证凭证在凭据管理服务(DEW)托管,托管按需计费,费用说明请参考DEW 计费说明。

    可观测配置

    日志记录

    • 未开启,工具运行过程产生的日志无法上报至云日志服务。
    • 开启后,工具运行过程产生的日志会上报云日志服务(LTS),日志管理费用按需收取,有关计费相关内容请参考LTS计费详情。

    高级配置

    出网网络配置

    • 公网访问:能够连接到外部的互联网,访问外部的资源和服务。
    • 私网访问:能够连接到内部的私有网络,访问内部的资源和服务。

      当选择“私网访问”时,需配置如下参数:

      配置后单击刷新。

    标签 (可选)

    由“标签键”和“标签值”组成,用于标识和分类云资源。

    您可以在TMS中创建预定义标签,用于使用同一标签标识多种云资源,创建后可在标签输入框下拉选择同一标签,具体操作请参考创建预定义标签,创建后单击刷新。

    单击“添加标签”,选择在TMS中创建的预定义标签,或自定义输入标签键和标签值。

    可添加一个或多个标签,最多添加20个标签。

通过SDK创建代码解释器

代码解释器工具支持在代码沙箱中进行上传、下载和执行代码等操作。SDK提供create_code_interpreter接口用于创建代码解释器工具,通过SDK创建的代码解释器将在代码解释器列表中展示。

在Python文件中通过SDK创建代码解释器,相关参数说明以及配置示例如下:

  • 方法名:create_code_interpreter
  • 配置以下参数:

    参数名

    类型

    描述

    name

    str

    Required code_interpreter名称。

    auth_type

    str

    认证类型,支持 "API_KEY" 或 "IAM",默认 "API_KEY"。

    api_key_name

    str

    Required API Key名称。

    description

    str

    代码解释器的描述。Default:None

    execution_agency_name

    str

    为代码解释器提供访问云服务的权限的IAM委托名。Default:None

    observability

    Dict

    可观测性配置(日志+指标)。Default:None

    network_config

    Dict

    出站网络配置。Default:None

    agent_gateway_id

    str

    Agent Gateway ID。Default: None

    tags

    List

    标签列表。Default:None

  • 返回值如下:
    包含代码解释器信息的字典,包括:
    • id (str): 代码解释器的ID。
    • name (str): 代码解释器的名称。该名称在您的账户中必须是唯一的。
    • description (str): 代码解释器的描述,用于LLM上下文分析。
    • created_at (str): 创建时间。
    • updated_at (str): 更新时间。
    • execution_agency_name(str): IAM委托名。
    • agent_gateway_id (str): Agent Gateway ID。
    • workload_identity (Dict): 认证信息。
    • observability (Dict): 可观测性配置(日志+指标)。
    • access_endpoint(str): 访问域名。
    • tags(List): 标签列表。
    • network_config(Dict): 出站网络配置。
APIKEY代码示例:
from agentarts.sdk.tools import CodeInterpreter
demo_client = CodeInterpreter(region="your_region", auth_type="API_KEY")
code_interpreter = demo_client.create_code_interpreter(
    name="your_code_interpreter_name",
    api_key_name="your_api_key_name"
)

IAM代码示例:

from agentarts.sdk.tools import CodeInterpreter
demo_client = CodeInterpreter(region="your_region", auth_type="IAM")
code_interpreter = client.create_code_interpreter(
    name="your_code_interpreter_name",
    auth_type="IAM"
    )

后续操作

创建成功后,您可以在智能体中集成工具,使其能够调用隔离环境来完成代码运行等复杂任务。详细操作请参见在Agent中集成代码解释器。

更多操作

您还可以对已创建的代码解释器执行如下操作。

表3 更多操作

操作

说明

查看代码解释器

  1. 进入工具界面。
  2. 在代码解释器列表中单击代码解释器名称,查看代码解释器详情。
  3. 在“配置信息”页签,修改代码解释器信息,置灰项不可修改。

删除代码解释器

代码解释器删除后不可恢复,请谨慎操作。

  1. 进入工具界面。
  2. 单击代码解释器列表操作列的“删除”。
  3. 在弹框中确认要删除后输入“DELETE”,然后单击“确定”。

复制代码解释器

支持用户基于已配置的工具快速创建新的工具。

  1. 进入工具界面。
  2. 单击代码解释器列表操作列的“复制”。
  3. 修改其基础信息,如名称、描述、参数配置等,配置完成后单击“立即创建”。

相关文档