Resolver problemas de implantação de um agente

Neste documento, mostramos como resolver erros que podem ser encontrados ao implantar um agente.

Erros no modelo predefinido

Ao encontrar erros no modelo LangchainAgent durante a implantação, isso pode ser devido a um dos problemas nesta seção.

Erros do Model Builder ou do Runnable Builder

Problema:

Você recebe uma mensagem de erro semelhante a esta:

AttributeError: 'LangchainAgent' object has no attribute '_model_builder'

ou

AttributeError: 'LangchainAgent' object has no attribute '_runnable_builder'

Possível causa:

Isso pode acontecer se você usou uma versão de google-cloud-aiplatform mais recente que 1.50.0 para definir LangchainAgent no ambiente de desenvolvimento, mas está fazendo a implantação com uma versão anterior a 1.51.0 em requirements=. Para verificar qual versão você está usando no ambiente de desenvolvimento, execute o seguinte comando no terminal:

pip show google-cloud-aiplatform

Solução recomendada:

Ao usar uma versão de google-cloud-aiplatform anterior à versão 1.51.0, especifique uma versão de google-cloud-aiplatform anterior à versão 1.51.0 em requirements= ao implantar o agente.

Ao usar uma versão de google-cloud-aiplatform posterior à versão 1.50.0, especifique uma versão de google-cloud-aiplatform posterior à versão 1.50.0 em requirements= ao implantar o agente.

Erros internos do servidor

Problema:

Você recebe uma mensagem de erro semelhante a esta:

InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.

Infelizmente, esse é um erro geral relacionado a problemas com o contêiner no ambiente de execução, e a causa possível pode consistir em muitos erros diferentes.

Causas possíveis:

  • Estado sujo em LangchainAgent. Isso pode acontecer quando .set_up() é chamado em um LangchainAgent antes da implantação do agente.
  • Versões de pacote inconsistentes. Isso pode acontecer quando os pacotes instalados no ambiente de desenvolvimento são diferentes daqueles instalados no ambiente remoto no Vertex AI Agent Engine.

Soluções recomendadas:

  • Estado sujo em LangchainAgent. Crie outra instância de LangchainAgent ou remova agent.set_up() do código antes de implantar o agente.
  • Especificações de pacote inconsistentes. Consulte a seção sobre como solucionar problemas de erros de serialização.

Erros de serialização

Em geral, é importante garantir que os ambientes "local" e "remoto" estejam sincronizados ao implantar o agente. Para isso, especifique requirements= ao implantar o agente.

Quando erros ocorrem na serialização (erros relacionados a pickle ou pickling são sinônimos de erros de serialização), isso pode ser devido a um dos problemas descritos nesta seção.

Versão do Pydantic

Problema:

Você recebe uma mensagem de erro semelhante a esta:

PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator

Possível causa:

Isso pode acontecer quando a versão do pacote pydantic é anterior à 2.6.4. Para verificar a versão em uso, execute o seguinte comando no terminal:

pip show pydantic

Solução recomendada:

Atualize o pacote executando o seguinte comando no terminal:

pip install pydantic --upgrade

Execute o seguinte comando no terminal para verificar se você está usando a versão 2.6.4 ou mais recente:

pip show pydantic

No caso de uma instância de notebook (por exemplo, Jupyter, Colab ou Workbench), talvez seja necessário reiniciar o ambiente de execução para usar os pacotes atualizados.

Versão do Cloudpickle

Problema:

Você recebe uma mensagem de erro semelhante a esta:

AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>

Possível causa:

Isso pode acontecer quando a versão do pacote cloudpickle é diferente nos ambientes de desenvolvimento e de implantação. Para verificar qual versão você está usando no ambiente de desenvolvimento, execute o seguinte comando no terminal:

pip show cloudpickle

Solução recomendada:

Implante a mesma versão do Cloudpickle nos dois ambientes (ou seja, seu ambiente de desenvolvimento local e o agente implantado remotamente) especificando requirements= ao implantar o agente.

Erros internos do servidor

Problema:

Você recebe uma mensagem de erro semelhante a esta:

InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.

Possível causa:

Isso pode acontecer quando sys_version= é diferente do ambiente de desenvolvimento ao implantar o agente.

Solução recomendada:

Considere remover sys_version= dos argumentos de entrada ao implantar o agente. Se você ainda tiver problemas, envie um relatório de bug.

Erros de bucket do Cloud Storage

Em caso de erros no bucket de preparação do Cloud Storage usado no momento da implantação para coletar e fazer upload do agente, isso pode ser devido a um dos seguintes problemas:

Erros de permissão

Solução recomendada:

Para usar um bucket atual: verifique se o principal autenticado para usar a Vertex AI (você ou uma conta de serviço) tem acesso Storage Admin ao bucket e conceda permissões à conta de serviço.

Como alternativa, é possível especificar um novo bucket ao implantar o agente, e o SDK vai criar o bucket com as permissões necessárias.

Se você ainda tiver problemas, envie um relatório de bug.

O subdiretório do bucket do Cloud Storage não foi criado

Problema:

Você recebe uma mensagem de erro semelhante a esta:

NotFound: 404 Can not copy from \"gs://[LOCATION]-*/agent_engine/agent_engine.pkl\" to \"gs://*/code.pkl\", check if the source object and target bucket exist.

O erro 404 ocorre quando o sistema tenta fazer uma cópia em uma pasta que não existe.

Possível causa:

Isso provavelmente se deve a um problema com a interpolação de strings em versões de google-cloud-aiplatform anteriores à 1.49.0. Isso foi corrigido em versões mais recentes. Para verificar qual versão de google-cloud-aiplatform você está usando, execute o seguinte comando no terminal:

pip show google-cloud-aiplatform

Solução recomendada:

Atualize o pacote executando o seguinte comando no terminal:

pip install google-cloud-aiplatform --upgrade

Verifique se você está usando a versão 1.49.0 ou mais recente de google-cloud-aiplatform executando o seguinte comando no terminal:

pip show google-cloud-aiplatform

No caso de uma instância de notebook (por exemplo, Jupyter, Colab ou Workbench), talvez seja necessário reiniciar o ambiente de execução para usar os pacotes atualizados.

Recursos de suporte

Se o problema ainda não for resolvido, consulte nosso guia de suporte para receber ajuda.