更新时间:2026-05-07 GMT+08:00
分享

执行数据面请求调用 - ExecuteCode

功能介绍

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

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

code_interpreter_name

String

参数解释:

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

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

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

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

约束限制:

不涉及。

取值范围:

需要操作的代码解释器的名称。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

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

String

参数解释:

使用的代码解释器会话的唯一标识符。

约束限制:

必须是使用StartSession命令创建的活动会话。如果会话已过期或已停止,则请求将失败。

取值范围:

不涉及。

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

operate_type

String

参数解释:

此次请求操作类型。

约束限制:

不涉及。

取值范围:

  • execute_code:执行代码。

  • execute_command:执行命令。

  • read_files:读取文件。

  • list_files:列举文件。

  • remove_files:删除文件。

  • write_files:写入文件。

默认取值:

不涉及。

arguments

CodeInterpreterToolArguments object

参数解释:

此次请求操作参数。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 CodeInterpreterToolArguments

参数

是否必选

参数类型

描述

clear_context

Boolean

参数解释:

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

约束限制:

不涉及。

取值范围:

  • true 清除

  • false 不清除

默认取值:

false

code

String

参数解释:

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

约束限制:

长度限制:最小长度为 0,最大长度为 1048576。

取值范围:

不涉及。

默认取值:

不涉及。

command

String

参数解释:

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

约束限制:

长度限制:最小长度为 0,最大长度为 65536。

取值范围:

不涉及。

默认取值:

不涉及。

language

String

参数解释:

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

约束限制:

不涉及。

取值范围:

支持语言:

  • python

默认取值:

不涉及。

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

参数解释:

二进制内容。

约束限制:

长度限制:最小长度为 0,最大长度为 104857600。

取值范围:

不涉及。

默认取值:

不涉及。

text

String

参数解释:

文本内容。

约束限制:

长度限制:最小长度为 0,最大长度为 104857600。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

result

CodeInterpreterResult object

参数解释:

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

取值范围:

不涉及。

表7 CodeInterpreterResult

参数

参数类型

描述

content

Array of CodeInterpreterContentBlock objects

参数解释:

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

取值范围:

不涉及。

is_error

Boolean

参数解释:

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

取值范围:

不涉及。

structured_content

CodeInterpreterResultStructuredContent object

参数解释:

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

取值范围:

不涉及。

表8 CodeInterpreterContentBlock

参数

参数类型

描述

type

String

参数解释:

该数据块的内容类型。

取值范围:

  • text:文本内容。

  • image:图片内容。

  • resource:资源内容。

  • resource_link:资源链接。

data

String

参数解释:

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

取值范围:

不涉及。

description

String

参数解释:

内容块的描述。

取值范围:

不涉及。

mime_type

String

参数解释:

资源内容的 MIME 类型。

取值范围:

不涉及。

name

String

参数解释:

内容块的名称。

取值范围:

不涉及。

size

Integer

参数解释:

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

取值范围:

不涉及。

text

String

参数解释:

该代码块的文本内容。

取值范围:

不涉及。

uri

String

参数解释:

内容的URI。

取值范围:

不涉及。

resource

ResourceContent object

参数解释:

与内容块关联的资源。

取值范围:

不涉及。

表9 ResourceContent

参数

参数类型

描述

type

String

参数解释:

资源内容的类型。

取值范围:

  • text:文本资源。

  • blob:二进制资源。

blob

String

参数解释:

Base64编码二进制资源内容。

取值范围:

不涉及。

mime_type

String

参数解释:

资源内容的 MIME 类型。

取值范围:

不涉及。

text

String

参数解释:

文本资源内容。

取值范围:

不涉及。

uri

String

参数解释:

资源内容的URI。

取值范围:

不涉及。

表10 CodeInterpreterResultStructuredContent

参数

参数类型

描述

execution_time

Integer

参数解释:

工具操作的执行时间(毫秒)。

取值范围:

不涉及。

exit_code

Integer

参数解释:

工具执行的退出代码。

取值范围:

不涉及。

stderr

String

参数解释:

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

取值范围:

不涉及。

stdout

String

参数解释:

工具执行后的标准输出。

取值范围:

不涉及。

请求示例

/v1/code-interpreters/123/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

请求参数错误。

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

状态码:404

资源不存在。

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

状态码:408

请求超时。

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

状态码:413

请求体过大。

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

状态码:429

请求频率超限。

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

状态码:500

服务内部错误。

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

状态码

状态码

描述

200

OK

400

请求参数错误。

404

资源不存在。

408

请求超时。

413

请求体过大。

429

请求频率超限。

500

服务内部错误。

错误码

请参见错误码

相关文档