代码执行问题排查

本文档介绍了在隔离的沙盒环境中执行代码时遇到的常见问题及其解决方案。它包括针对沙盒创建失败、执行超时和文件 I/O 问题的帮助。

沙盒创建问题

  • 权限错误:如果在创建沙盒时遇到错误, 请确保您的 Google Cloud 项目具有代理平台用户 (roles/aiplatform.user)Identity and Access Management (IAM) 角色。

  • 项目 ID 或位置无效: 验证代码中使用的 PROJECT_IDLOCATION 变量是否正确且受支持。如需查看受支持的区域列表,请参阅支持的区域

  • 代理引擎未创建: 在创建沙盒之前,请确认代理平台实例已成功创建。agent_engine.create() 方法必须顺利完成,且没有错误。

代码执行问题

  • 代码错误: 查看 execute_code 响应中的 stderr 输出,以找出代码中的任何语法错误、运行时异常或逻辑缺陷。

  • 文件 I/O 问题

    • 找不到文件: 确保在 input_datafiles 数组中指定的任何输入文件在代码中被正确引用。 您的代码在与文件相同的文件夹中执行,无法访问其他文件夹。

    • 未生成输出文件: 检查您的代码是否写入了预期的输出文件名,以及是否存在阻止文件创建或写入的错误。

    • 大小限制: 文件大小上限为 100MB。

  • 状态持久性: 如果您的代码依赖于之前的状态,请验证您是否对后续调用使用了相同的 sandbox_name。 此外,请确保沙盒未过期。

  • 超时: 代码执行在 300 秒后超时。 请考虑优化代码以提高性能,或将复杂的任务分解为更易于管理的较小步骤。

沙盒管理和清理

  • 找不到要删除的沙盒: 如果您无法删除沙盒,请确保您使用的 sandbox_name 正确无误,并且沙盒仍然存在。

  • 找不到要删除的代理引擎: 与沙盒类似,在尝试删除代理平台实例时,请验证 agent_engine_name

  • 资源配额: 如果您创建了许多沙盒或频繁执行,则可能会遇到资源配额限制。请检查项目的代理平台服务配额,并根据需要申请增加。如需查看代理引擎配额列表,请参阅配额