Este documento mostra-lhe como resolver erros que pode encontrar ao implementar um agente.
Erros de modelos predefinidos
Se tiver problemas com o modelo LangchainAgent durante a implementação, pode dever-se a um dos problemas nesta secção.
Erros internos do servidor
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Infelizmente, este é um erro geral para quaisquer problemas com o contentor no momento da execução e a possível causa é um dos muitos erros que podem estar a ocorrer.
Causas possíveis:
- Estado sujo em
LangchainAgent
. Isto pode acontecer se.set_up()
tiver sido chamado numLangchainAgent
antes de implementar o agente. - Versões de pacotes inconsistentes. Isto pode acontecer se os pacotes instalados no ambiente de desenvolvimento forem diferentes dos pacotes instalados no ambiente remoto no Vertex AI Agent Engine.
Soluções recomendadas:
- Estado sujo em
LangchainAgent
. Instancie uma nova instância doLangchainAgent
ou removaagent.set_up()
do código antes de implementar o agente. - Especificações do pacote inconsistentes. Consulte a secção sobre a resolução de problemas de erros de serialização.
Erros de serialização
Em geral, é importante garantir que os ambientes "local" e "remoto" estão sincronizados quando implementa o agente. Pode garantir isto especificando
requirements=
quando
implementar o agente.
Se tiver problemas com a serialização (os erros relacionados com "pickle" ou "pickling" são sinónimos de erros de "serialização"), podem dever-se a um dos problemas descritos nesta secção.
Versão do Pydantic
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator
Causa possível:
Isto pode acontecer se o seu pacote pydantic
for anterior à versão 2.6.4
. Para
verificar que versão está a usar, 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 está a usar a versão
2.6.4
ou posterior:
pip show pydantic
Se estiver numa instância de bloco de notas (por exemplo, um Jupyter, um Colab ou um Workbench), pode ter de reiniciar o tempo de execução para usar os pacotes atualizados.
Versão do Cloudpickle
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>
Causa possível:
Isto pode acontecer se a versão do pacote do cloudpickle
for diferente no ambiente de desenvolvimento e no ambiente de implementação. Para verificar a versão que está a usar no desenvolvimento, execute o seguinte comando no terminal:
pip show cloudpickle
Solução recomendada:
Implemente a mesma versão do cloudpickle em ambos os ambientes, como o ambiente de desenvolvimento local e o agente implementado remotamente, especificando-o requirements=
quando implementar o agente.
Erros internos do servidor
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Causa possível:
Isto pode acontecer se sys_version=
for diferente do ambiente de desenvolvimento quando implementar o agente.
Solução recomendada:
Depois de implementar o agente, considere remover sys_version=
dos argumentos de entrada.
Se continuar a ter problemas, comunique um erro.
Erros do contentor do Cloud Storage
Se estiver a ter problemas com o contentor de preparação do Cloud Storage usado no momento da implementação para recolher e carregar o seu agente, pode dever-se a um dos seguintes problemas:
Erros de autorização
Solução recomendada:
Se quiser usar um contentor pré-existente: certifique-se de que o principal autenticado para usar o Vertex AI (você ou uma conta de serviço) tem acesso Storage Admin
ao contentor e conceda autorizações à conta de serviço.
Em alternativa, pode especificar um novo contentor quando implementar o agente, e o SDK cria o contentor com as autorizações necessárias.
Se continuar a ter problemas, comunique um erro.
O subdiretório do contentor do Cloud Storage não é criado
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
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 copiar para uma pasta que não existe.)
Causa possível:
Isto deve-se provavelmente a um problema com a interpolação de strings em versões
google-cloud-aiplatform
anteriores à versão 1.49.0
. Este problema foi corrigido
em versões posteriores. Para verificar a versão do google-cloud-aiplatform
que está a usar, 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 está a usar a versão 1.49.0
ou posterior do google-cloud-aiplatform
executando o seguinte comando no terminal:
pip show google-cloud-aiplatform
Se estiver a usar uma instância de bloco de notas (por exemplo, Jupyter, Colab ou Workbench), pode ter de reiniciar o tempo de execução antes de poder usar os pacotes atualizados.
Erros de violação de VPC-SC
Se estiver a ter problemas com o VPC-SC, um dos seguintes problemas pode ser a causa:
Erros de autorização
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
Reasoning Engine instance REASONING_ENGINE_ID failed to start and cannot serve traffic.
ou:
Request is prohibited by organization's policy.
Causa possível:
Isto deve-se provavelmente à falta de regras de entrada obrigatórias no perímetro do VPC-SC.
Solução recomendada:
Se usar o Vertex AI Agent Engine num ambiente VPC-SC, tem de criar uma regra de entrada no seu perímetro para permitir a entrada do agente do serviço Reasoning Engine (service-PROJECT_NUMBER@gcp-sa-aiplatform-re.iam.gserviceaccount.com
) no serviço storage.googleapis.com
e no serviço artifactregistry.googleapis.com
.
Erros de conta de serviço personalizada
Se tiver problemas com contas de serviço, um dos seguintes problemas pode ser a causa:
Atue como conta de serviço
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
You do not have permission to act as service_account.
Causa possível:
Pode não ter a autorização iam.serviceAccounts.actAs
na conta de serviço personalizada usada para a implementação. Tenha em atenção que, num sistema multiagente, onde existem várias contas de serviço personalizadas, um autor ou um implementador de agentes pode atuar como algumas das contas de serviço. Se estiver a usar a conta de serviço errada, este erro é o comportamento esperado
Além disso, pode encontrar este erro se a conta de serviço personalizada estiver localizada num projeto diferente daquele onde implementa o agente e a política da organização iam.disableCrossProjectServiceAccountUsage
for aplicada no projeto da conta de serviço.
Consulte o artigo Conta de serviço personalizada entre projetos para ver a lista completa das configurações necessárias para este cenário.
Solução recomendada:
Certifique-se de que está a usar a conta de serviço pretendida. Verifique se tem a função
Utilizador da conta de serviço (roles/iam.serviceAccountUser
) nesta conta
de serviço. Caso contrário, peça ao seu administrador para lhe conceder a função nesta conta de serviço.
Se estiver no cenário entre projetos, verifique se o projeto da sua conta de serviço tem a política da organização aplicada.iam.disableCrossProjectServiceAccountUsage
Se for o caso, peça ao administrador para desativar a política.
Servidor de metadados indisponível
Problema:
Recebe uma mensagem de erro semelhante à seguinte:
ServiceUnavailable: 503 Getting metadata from plugin failed with error
ou
Compute Engine Metadata server unavailable due to : Could not fetch URI /computeMetadata/v1/instance/service-accounts/default/token
Causa possível:
Isto pode acontecer se a conta de serviço personalizada e o seu agente estiverem em projetos diferentes e o agente do serviço AI Platform Reasoning Engine não tiver a autorização iam.serviceAccounts.getAccessToken
na conta de serviço personalizada.
Consulte o artigo Conta de serviço personalizada entre projetos para ver a lista completa das configurações necessárias para este cenário.
Solução recomendada:
Peça ao administrador para conceder ao agente de serviço do AI Platform Reasoning Engine
do projeto do agente a função Criador de tokens de contas de serviço
(roles/iam.serviceAccountTokenCreator
) na conta de serviço personalizada.
O agente do serviço do motor de raciocínio da AI Platform deve estar localizado no mesmo projeto que usa para implementar o seu agente. A associação de IAM da concessão de funções deve estar no projeto onde reside a conta de serviço personalizada.
Recursos de apoio
Se o problema ainda não estiver resolvido, consulte o nosso guia de apoio técnico para receber ajuda.