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

执行数据面请求调用 - ExecuteCode

功能介绍

该API用于在沙箱中执行各类操作请求,比如执行代码、执行命令、写入文件、读取文件、列出文件、删除文档等操作。

调用方法

请参见如何调用API。

授权信息

当前API调用无需身份策略权限。

URI

POST /v1/code-interpreters/{code_interpreter_name}/invoke

表1 路径参数

参数

是否必选

参数类型

描述

code_interpreter_name

是

String

参数解释:

与会话关联的代码解释器的唯一标识符。

代码解释器名称获取方式:

1.进入AgentArts平台,在左侧导航栏选择"组件库 > 沙箱工具 "。

2.在代码解释器列表中"代码解释器名称/ID"处获取代码解释器名称。

约束限制:

必须为已创建的代码解释器名称,若不存在则返回404错误。

取值范围:

符合正则^[a-z][a-z0-9-]{0,38}[a-z0-9]$,即必须以小写字母开头,小写字母或数字结尾,中间可包含数字、小写字母、中划线,字符长度必须在2-40个字符之间。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-HW-AgentArts-Code-Interpreter-Session-Id

是

String

参数解释:

使用的代码解释器会话的唯一标识符。从StartCodeInterpreterSession接口返回获得。

约束限制:

session_id不可为空,格式不合法返回400错误,会话不存在或已过期返回404错误。

取值范围:

由StartCodeInterpreterSession接口返回的session_id,由字母、数字、中划线、下划线组成,长度1-128字符。

默认取值:

不涉及。

Authorization

是

String

参数解释:

本次智能体工具调用对应的身份认证凭据。需要根据实际的智能体工具的入站身份认证方式获取对应的身份认证凭据。

API Key认证、IAM认证及OAuth 2.0认证具体请参见认证鉴权。

约束限制:

不涉及。

取值范围:

1-4096个字符,由字母、数字及特殊字符组成。

默认取值:

不涉及。

Accept

否

String

参数解释

客户端声明可接受的响应内容类型。在Streamable HTTP传输中,客户端通过此头告知服务器其能够处理的内容格式,以便服务器选择合适的响应方式。例如流式需要包含“text/event-stream”,则以SSE流式返回,返回事件类型为result

约束限制:

MIME类型。

取值范围:

不涉及。

默认取值:

“application/json”

表3 请求Body参数

参数

是否必选

参数类型

描述

operate_type

是

String

参数解释:

此次请求操作类型。

约束限制:

必须为指定的枚举值之一,传入非法值将返回400错误。operate_type决定了arguments中哪些字段必选:

  • execute_code:code必选,language必选

  • execute_command:command必选

  • read_files:paths必选

  • list_files:directory_path可选

  • remove_files:paths必选

  • write_files:write_contents必选

取值范围:

  • execute_code:执行代码

  • execute_command:执行命令

  • read_files:读取文件

  • list_files:列举文件

  • remove_files:删除文件

  • write_files:写入文件

长度2-64字符。

默认取值:

不涉及。

arguments

是

CodeInterpreterToolArguments object

参数解释:

此次请求操作参数。

约束限制:

arguments不可为空对象,其中必选字段由operate_type决定,具体见各子字段说明及operate_type描述。

取值范围:

不涉及。

默认取值:

不涉及。

表4 CodeInterpreterToolArguments

参数

是否必选

参数类型

描述

clear_context

否

Boolean

参数解释:

是否需要清除工具的上下文。

约束限制:

不涉及。

取值范围:

  • true:清除上下文。

  • false:不清除上下文。

默认取值:

false。

code

否

String

参数解释:

要在代码解释器会话中执行的代码。这是指定编程语言的源代码,将由代码解释器执行。

约束限制:

不涉及。

取值范围:

长度0-1048576个字符。

默认取值:

不涉及。

command

否

String

参数解释:

要使用该工具执行的命令。

约束限制:

不涉及。

取值范围:

长度0-65536个字符。

默认取值:

不涉及。

language

否

String

参数解释:

要执行的代码所使用的编程语言。即告诉代码解释器使用哪种语言运行时来执行代码。

约束限制:

不涉及。

取值范围:

  • python:Python编程语言。

  • typescript:TypeScript编程语言。

默认取值:

不涉及。

write_contents

否

Array of CodeInterpreterToolContent objects

参数解释:

当请求操作为 write_files 时,待写入的内容,包含待写入数据内容和文件路径。

约束限制:

数组最小元素数量为0,最大元素数量为1000。

directory_path

否

String

参数解释:

当请求操作为 list_files时,所需 list 的目录。

约束限制:

不涉及。

取值范围:

长度0-4096个字符。

默认取值:

不涉及。

paths

否

Array of strings

参数解释:

当请求操作为 read_files %%remove_files时, 所需读取或者删除的文件路径。

约束限制:

需保证每个路径唯一,数组最小元素数量为0,最大元素数量为1000。

表5 CodeInterpreterToolContent

参数

是否必选

参数类型

描述

path

是

String

参数解释:

写入数据时的目标地址。

约束限制:

不涉及。

取值范围:

长度0-4096个字符。

默认取值:

不涉及。

blob

否

File

参数解释:

二进制内容。

约束限制:

采用Base64编码,解码后最大长度104857600字节(约100MB)。支持所有MIME类型的文件格式。

取值范围:

不涉及。

默认取值:

不涉及。

text

否

String

参数解释:

文本内容。

约束限制:

不涉及。

取值范围:

长度0-104857600个字符(约100MB)。

默认取值:

不涉及。

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

result

CodeInterpreterResult object

参数解释:

代码解释器会话中执行代码后产生的输出。

取值范围:

不涉及。

表7 CodeInterpreterResult

参数

参数类型

描述

content

Array of CodeInterpreterContentBlock objects

参数解释:

执行结果的文本内容。这包括代码执行的标准输出,例如打印语句、控制台输出和结果的文本表示。

取值范围:

不涉及。

is_error

Boolean

参数解释:

指示结果是否代表错误。如果为真,则内容包含错误消息或异常信息。如果为假,则内容包含成功执行的结果。

取值范围:

  • true:结果代表错误,内容包含错误消息或异常信息。

  • false:结果代表成功执行,内容包含成功执行的结果。

structured_content

CodeInterpreterResultStructuredContent object

参数解释:

执行结果的结构化内容。这包括有关执行的附加元数据,例如执行时间、内存使用情况以及输出数据的结构化表示。格式取决于具体的代码解释器和执行上下文。

取值范围:

不涉及。

表8 CodeInterpreterContentBlock

参数

参数类型

描述

type

String

参数解释:

该数据块的内容类型。

取值范围:

  • text:文本内容。

  • image:图片内容。

  • resource:资源内容。

  • resource_link:资源链接。

data

String

参数解释:

该数据块的二进制数据内容。

取值范围:

长度0到100000000个字符。

description

String

参数解释:

内容块的描述。

取值范围:

长度0到1024个字符。

mime_type

String

参数解释:

资源内容的 MIME 类型。

取值范围:

长度1到256个字符。

name

String

参数解释:

内容块的名称。

取值范围:

长度0到256个字符。

size

Integer

参数解释:

内容大小(以字节为单位)。

取值范围:

0到100000000。

text

String

参数解释:

该代码块的文本内容。

取值范围:

长度0到100000000个字符。

uri

String

参数解释:

内容的URI。

取值范围:

长度0到4096个字符。

resource

ResourceContent object

参数解释:

与内容块关联的资源。

取值范围:

不涉及。

表9 ResourceContent

参数

参数类型

描述

type

String

参数解释:

资源内容的类型。

取值范围:

  • text:文本资源。

  • blob:二进制资源。

blob

String

参数解释:

Base64编码二进制资源内容。

取值范围:

长度0到100000000个字符。

mime_type

String

参数解释:

资源内容的 MIME 类型。

取值范围:

长度1到256个字符。

text

String

参数解释:

文本资源内容。

取值范围:

长度0到100000000个字符。

uri

String

参数解释:

资源内容的URI。

取值范围:

长度0到4096个字符。

表10 CodeInterpreterResultStructuredContent

参数

参数类型

描述

execution_time

Integer

参数解释:

工具操作的执行时间。

取值范围:

0到900000(单位:毫秒)。

exit_code

Integer

参数解释:

工具执行的退出代码。

取值范围:

-1到255,其中0表示成功执行,非0表示执行异常,具体错误码含义取决于执行的语言和命令。

stderr

String

参数解释:

工具执行时的标准错误输出。

取值范围:

长度0到104857600个字符。

stdout

String

参数解释:

工具执行后的标准输出。

取值范围:

长度0到104857600个字符。

状态码:401

表11 响应Body参数

参数

参数类型

描述

code

Integer

参数解释:

异常错误码。

取值范围:

可选值:401。

message

String

参数解释:

错误详细信息。

取值范围:

长度为 1 - 512 个字符。

error_code

String

参数解释:

错误码。

取值范围:

满足正则规则^AgentArts.0401\d{4}$

error_msg

String

参数解释:

错误详细信息。

取值范围:

符合正则:^[a-zA-Z0-9\s\u4e00-\u9fff.,!?;:()'"-\u3002\uff0c\uff01\uff1f\uff1b\uff1a\uff08\uff09]+$。

请求示例

POST /v1/code-interpreters/{code_interpreter_name}/invoke

{
  "operate_type" : "execute_code",
  "arguments" : {
    "clear_context" : false,
    "code" : "print('Hello world!')",
    "language" : "python"
  }
}

响应示例

状态码:200

OK

{
  "result" : {
    "content" : [ {
      "type" : "text",
      "data" : null,
      "description" : null,
      "mime_type" : null,
      "name" : null,
      "size" : null,
      "text" : "output content",
      "uri" : null,
      "resource" : {
        "type" : "text",
        "blob" : null,
        "mime_type" : null,
        "text" : null,
        "uri" : null
      }
    } ],
    "is_error" : false
  }
}

状态码:400

请求参数错误。

"{\n  \"error_code\": \"AgentArts.04010001\",\n  \"error_msg\": \"arguments -> code: Input should be a valid string; arguments -> write_contents: Field required\"\n}"

状态码:401

未授权(认证令牌缺失、无效或已过期)。

"{\n  \"code\": 401,\n  \"message\": \"Authentication failed\"\n}"

状态码:404

资源不存在。

"{\n  \"error_code\": \"AgentArts.04010004\",\n  \"error_msg\": \"Session s-001 not found\"\n}"

状态码:408

请求超时。

"{\n  \"result\": {\n    \"content\": [\n      {\n        \"type\": \"text\",\n        \"text\": \"Execution timed out after 900 seconds\"\n      }\n    ],\n    \"is_error\": true\n  }\n}"

状态码:413

请求体过大。

"{\n  \"error_code\": \"REQUEST_TOO_LARGE\",\n  \"error_msg\": \"Request body too large. Maximum allowed size is 104857600 bytes.\"\n}"

状态码:429

请求频率超限。

"{\n  \"error_code\": \"AgentArts.04010006\",\n  \"error_msg\": \"Too many pending requests for this session\"\n}"

状态码:500

服务内部错误。

"{\n  \"error_code\": \"AgentArts.04010000\",\n  \"error_msg\": \"Internal server error\"\n}"

状态码

状态码

描述

200

OK

400

请求参数错误。

401

未授权(认证令牌缺失、无效或已过期)。

404

资源不存在。

408

请求超时。

413

请求体过大。

429

请求频率超限。

500

服务内部错误。

错误码

请参见错误码。

相关文档