Resolver problemas de implantação de apps

Neste documento, mostramos como resolver erros que podem ocorrer ao implantar um app.

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 que seja anterior à versão 1.51.0 em requirements= ao implantar o mecanismo de raciocínio.

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 mecanismo de raciocínio.

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 no mecanismo de raciocínio.
  • 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 mecanismo de raciocínio.

Soluções recomendadas:

Erros de serialização

Em geral, é importante garantir que os ambientes locais e remotos estejam sincronizados ao realizar a implantação no mecanismo de raciocínio. Para isso, especifique requirements= ao fazer a implantação no mecanismo de raciocínio.

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 tanto no ambiente de desenvolvimento local quanto no ambiente do mecanismo de raciocínio implantado remotamente especificando requirements= ao fazer a implantação do mecanismo de raciocínio.

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 fazer a implantação no mecanismo de raciocínio.

Solução recomendada:

Considere remover sys_version= dos argumentos de entrada ao fazer a implantação no mecanismo de raciocínio. 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 do mecanismo de raciocínio gerenciado pelo Google.

Como alternativa, é possível especificar um novo bucket ao fazer a implantação no mecanismo de raciocínio e o SDK do cliente do mecanismo cria 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]-*/reasoning_engine/reasoning_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.