本文档介绍了如何解决在将代理部署到 Agent Runtime 时可能遇到的错误。其中涵盖了各种常见问题,包括序列化失败、权限错误和 VPC-SC 边界违规。
注意:如需搜索和过滤代理错误日志,请使用 Logs Explorer,将 RESOURCE TYPE 选择为“Vertex AI Reasoning Engine”,然后选择相应的 RESOURCE CONTAINER 值(即项目编号)和 REASONING ENGINE ID 值。
预构建模板错误
如果您在部署期间遇到 LangchainAgent 模板方面的问题,可能是本部分中所述的某个问题所导致的。
内部服务器错误
问题:
您收到类似于以下内容的错误消息:
InternalServerError: 500 Revision YYY is not ready and cannot serve traffic.
遗憾的是,这是针对运行时出现的任何容器相关问题的通用错误,可能的原因是可能发生的众多错误之一。
可能的原因:
LangchainAgent上的脏状态。如果在部署代理之前对LangchainAgent调用了.set_up(),则可能会发生这种情况。- 软件包版本不一致。如果开发环境中安装的软件包与 Agent Runtime 的远程环境中安装的软件包不同,则可能会发生这种情况。
推荐的解决方案:
LangchainAgent上的脏状态。实例化一个全新的LangchainAgent实例,或在部署代理之前从代码中移除agent.set_up()。- 软件包规范不一致。请参阅有关排查序列化错误的部分。
序列化错误
一般来说,在部署代理时,请务必确保“本地”环境和“远程”环境保持同步。您可以通过在部署代理时指定 requirements= 来确保这一点。
如果您遇到序列化方面的问题(与“pickle”或“pickling”相关的错误与“序列化”错误同义),则可能是由本部分中所述的某个问题所导致的。
Pydantic 版本
问题:
您收到类似于以下内容的错误消息:
PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator
可能的原因:
如果您的 pydantic 软件包低于版本 2.6.4,则可能会发生这种情况。如需检查您在使用的版本,请在终端中运行以下命令:
pip show pydantic推荐的解决方案:
在终端中运行以下命令以更新软件包:
pip install pydantic --upgrade在终端中运行以下命令,以验证您是否在使用 2.6.4 或更高版本:
pip show pydantic如果您在使用笔记本实例(例如 Jupyter、Colab 或 Workbench),则可能需要重启运行时才能使用更新后的软件包。
Cloudpickle 版本
问题:
您收到类似于以下内容的错误消息:
AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>
可能的原因:
如果开发环境和部署环境中的 cloudpickle 软件包版本不同,则可能会发生这种情况。如需检查您在开发中使用的版本,请在终端中运行以下命令:
pip show cloudpickle