执行数据面请求调用 - ExecuteCode
功能介绍
该API用于在沙箱中执行各类操作请求,比如执行代码、执行命令、写入文件、读取文件、列出文件、删除文档等操作。
URI
POST /v1/code-interpreters/{code_interpreter_name}/invoke
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| code_interpreter_name | 是 | String | 参数解释: 与会话关联的代码解释器的唯一标识符。 代码解释器名称获取方式: 1.进入AgentArts平台,在左侧导航栏选择“组件库 > 沙箱工具 ”。 2.在代码解释器列表中“代码解释器名称/ID”处获取代码解释器名称。 约束限制: 不涉及。 取值范围: 需要操作的代码解释器的名称。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-HW-AgentArts-Code-Interpreter-Session-Id | 是 | String | 参数解释: 使用的代码解释器会话的唯一标识符。 约束限制: 必须是使用StartSession命令创建的活动会话。如果会话已过期或已停止,则请求将失败。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| operate_type | 是 | String | 参数解释: 此次请求操作类型。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| arguments | 是 | CodeInterpreterToolArguments object | 参数解释: 此次请求操作参数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| clear_context | 否 | Boolean | 参数解释: 是否需要清除工具的上下文。 约束限制: 不涉及。 取值范围: 默认取值: false |
| code | 否 | String | 参数解释: 要在代码解释器会话中执行的代码。这是指定编程语言的源代码,将由代码解释器执行。 约束限制: 长度限制:最小长度为 0,最大长度为 1048576。 取值范围: 不涉及。 默认取值: 不涉及。 |
| command | 否 | String | 参数解释: 要使用该工具执行的命令。 约束限制: 长度限制:最小长度为 0,最大长度为 65536。 取值范围: 不涉及。 默认取值: 不涉及。 |
| language | 否 | String | 参数解释: 要执行的代码所使用的编程语言。即告诉代码解释器使用哪种语言运行时来执行代码。 约束限制: 不涉及。 取值范围: 支持语言: 默认取值: 不涉及。 |
| 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。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| result | CodeInterpreterResult object | 参数解释: 代码解释器会话中执行代码后产生的输出。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| content | Array of CodeInterpreterContentBlock objects | 参数解释: 执行结果的文本内容。这包括代码执行的标准输出,例如打印语句、控制台输出和结果的文本表示。 取值范围: 不涉及。 |
| is_error | Boolean | 参数解释: 指示结果是否代表错误。如果为真,则内容包含错误消息或异常信息。如果为假,则内容包含成功执行的结果。 取值范围: 不涉及。 |
| structured_content | 参数解释: 执行结果的结构化内容。这包括有关执行的附加元数据,例如执行时间、内存使用情况以及输出数据的结构化表示。格式取决于具体的代码解释器和执行上下文。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释: 该数据块的内容类型。 取值范围: |
| data | String | 参数解释: 该数据块的二进制数据内容。 取值范围: 不涉及。 |
| description | String | 参数解释: 内容块的描述。 取值范围: 不涉及。 |
| mime_type | String | 参数解释: 资源内容的 MIME 类型。 取值范围: 不涉及。 |
| name | String | 参数解释: 内容块的名称。 取值范围: 不涉及。 |
| size | Integer | 参数解释: 内容大小(以字节为单位)。 取值范围: 不涉及。 |
| text | String | 参数解释: 该代码块的文本内容。 取值范围: 不涉及。 |
| uri | String | 参数解释: 内容的URI。 取值范围: 不涉及。 |
| resource | ResourceContent object | 参数解释: 与内容块关联的资源。 取值范围: 不涉及。 |
请求示例
/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 | 服务内部错误。 |
错误码
请参见错误码。