创建沙箱工具-j9九游会登录
创建沙箱工具允许用户在安全的环境中测试和验证智能体的功能,确保在实际部署前能够发现和解决问题。当前仅支持创建代码解释器。代码解释器能够理解并解释代码的逻辑,帮助用户更好地理解代码的运行机制和功能。
创建代码解释器有两种方式:
前提条件
- 使用沙箱工具前需要先开通agentarts服务并进行服务授权,请在“授权管理”页面进行云服务开通及授权,详细信息请参考授权管理。
- (可选)管理员可在iam控制台为创建的iam子用户授予权限,授权后,子用户即可根据权限使用账号中的云服务资源,相关操作步骤如下。
- 创建iam用户。
- 给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 授权策略
通过控制台创建代码解释器
支持用户在控制台上通过配置相关参数创建代码解释器。
- 登录。
- 在左侧导航栏选择“开发中心 > 组件库 ”,单击“沙箱工具”页签,进入沙箱工具界面。
- 单击右上角“创建代码解释器”。
- 在“创建代码解释器”的弹框中,输入相关配置信息,参数说明请参考表2。
表2 参数说明 参数
说明
基本信息
名称
工具的名称,同一账号下沙箱工具名称不可重复,创建后不支持修改。
命名规则:
- 以小写字母开头,小写字母或数字结尾。
- 名称中需包含数字、字母、中划线。
- 长度为2~40个字符。
系统会默认生成工具的名称,可根据需求自定义修改。
描述
用于对工具内容和用途的简要说明。
规则:长度不大于4096个字符。
权限与身份认证
委托
(可选)授予的代理权限或代理功能,允许代表智能体与外部系统进行通信和交互。
可不填写,如需手动创建,请单击“创建委托”并参考如下配置创建。
- 委托名称:自定义。
- 信任主体类型:选择“云服务”。
- 云服务:搜索service.workloadsandboxmetadata。
- 其余参数使用默认值。
图2 创建委托
委托创建完成后可对委托进行授权,操作具体详情请参考创建委托并授权。
入站身份认证
配置代码解释器的身份认证方式。入站身份认证是指代码解释器在接收和处理来自智能体或sdk的请求时,对请求进行身份验证,确保只有经过验证的请求才能访问沙箱工具中的资源,提高系统的安全性和可靠性。
支持以下认证方式:
- iam认证:将华为云iam身份配置为入站身份认证,以验证调用者的身份。
- api key认证:通过接口的访问密钥进行身份验证和授权。系统会自动生成api key的名称,可根据需求自定义修改。
身份认证凭证在凭据管理服务(dew)托管,托管按需计费,费用说明请参考。
可观测配置
日志记录
- 未开启,工具运行过程产生的日志无法上报至云日志服务。
- 开启后,工具运行过程产生的日志会上报云日志服务(lts),日志管理费用按需收取,有关计费相关内容请参考。
高级配置
出网网络配置
- 公网访问:能够连接到外部的互联网,访问外部的资源和服务。
- 私网访问:能够连接到内部的私有网络,访问内部的资源和服务。
当选择“私网访问”时,需配置如下参数:
- 选择已配置的vpc,如未配置,请单击“新建vpc”,具体请参考创建虚拟私有云和子网。
- 选择已配置的子网,如未配置,请单击“新建子网”,具体请参考创建虚拟私有云和子网。
- 选择已配置的安全组,如未配置,请单击“新建安全组”,具体请参考创建安全组。
配置后单击
刷新。
标签
可选参数。
由“标签键”和“标签值”组成,用于标识和分类云资源。
您可以在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): 出站网络配置。
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"
) 后续操作
创建成功后,您可以在智能体中集成工具,使其能够调用隔离环境来完成代码运行等复杂任务。详细操作请参见在智能体中集成沙箱工具。
更多操作
您还可以对已创建的代码解释器执行如下操作。
| 操作 | 说明 |
|---|---|
| 查看代码解释器 |
|
| 删除代码解释器 | 代码解释器删除后不可恢复,请谨慎操作。
|
| 复制代码解释器 | 支持用户基于已配置的工具快速创建新的工具。
|
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨