Soluciona problemas de implementación de una aplicación

En este documento, se muestra cómo resolver errores que puedes encontrar cuando implementas una aplicación.

Errores de plantilla compilada previamente

Si tienes problemas con la plantilla LangchainAgent durante la implementación, podría deberse a uno de los problemas de esta sección.

Errores del compilador de modelos o del compilador ejecutable

Problema:

Recibes un mensaje de error similar al siguiente:

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

o

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

Causa posible:

Esto podría suceder si usaste una versión degoogle-cloud-aiplatform posterior a 1.50.0 para definir LangchainAgent en tu entorno de desarrollo, pero la implementas con una versión anterior a la 1.51.0 en requirements=. Para verificar qué versión estás usando en tu entorno de desarrollo, ejecuta el siguiente comando en tu terminal:

pip show google-cloud-aiplatform

Solución recomendada:

Si usas una versión de google-cloud-aiplatform anterior a la versión 1.51.0, especifica una versión de google-cloud-aiplatform antes de la versión 1.51.0 en requirements= cuando implementes el motor de razonamiento..

Si usas una versión de google-cloud-aiplatform después de la versión 1.50.0, especifica una versión de google-cloud-aiplatform después de la versión 1.50.0 en requirements= cuando implementes el motor de razonamiento.

Errores internos del servidor

Problema:

Recibes un mensaje de error similar al siguiente:

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

Por desgracia, este es un error general para cualquier problema con el contenedor en el entorno de ejecución, y la causa posible es uno de los numerosos errores que pueden ocurrir.

Causas posibles

  • Estado sucio en LangchainAgent. Esto podría suceder si se llamó a .set_up() en un LangchainAgent antes de implementarlo en el motor de razonamiento.
  • Versiones incoherentes de paquetes. Esto podría suceder si los paquetes instalados en el entorno de desarrollo son diferentes de los paquetes instalados en el entorno remoto en el motor de razonamiento.

Soluciones recomendadas

Errores de serialización

En general, es importante asegurarse de que los entornos “local” y “remoto” estén sincronizados cuando se implemente en el motor de razonamiento. Para garantizar esto, especifica requirements= cuando implementes en el motor de razonamiento.

Si tienes problemas con la serialización (los errores relacionados con “pickle” o “pickle” son sinónimo de errores de “serialización”), puede deberse a uno de los problemas que se describen en esta sección.

Versión de Pydantic

Problema:

Recibes un mensaje de error similar al siguiente:

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

Causa posible:

Esto puede suceder si tu paquete pydantic es anterior a la versión 2.6.4. Para verificar qué versión estás usando, ejecuta el siguiente comando en tu terminal:

pip show pydantic

Solución recomendada:

Ejecuta el siguiente comando en la terminal para actualizar tu paquete:

pip install pydantic --upgrade

Ejecuta el siguiente comando en tu terminal para verificar que estés usando la versión 2.6.4 o posterior:

pip show pydantic

Si estás en una instancia de notebook (por ejemplo, Jupyter, Colab o Workbench), es posible que debas reiniciar tu entorno de ejecución para usar los paquetes actualizados.

Versión de Cloudpickle

Problema:

Recibes un mensaje de error similar al siguiente:

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

Causa posible:

Esto puede suceder si la versión de tu paquete cloudpickle es diferente en tu entorno de desarrollo y en tu entorno de implementación. Para verificar qué versión estás usando en el desarrollo, ejecuta el siguiente comando en tu terminal:

pip show cloudpickle

Solución recomendada:

Implementa la misma versión de cloudpickle en ambos entornos (es decir, tu entorno de desarrollo local y el entorno de Reasoning Engine implementado de forma remota) mediante la especificación de requirements= cuando implementes el motor de razonamiento.

Errores internos del servidor

Problema:

Recibes un mensaje de error similar al siguiente:

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

Causa posible:

Esto puede suceder si sys_version= es diferente del entorno de desarrollo cuando se implementa en el motor de razonamiento.

Solución recomendada:

Considera quitar sys_version= de los argumentos de entrada cuando implementes en el motor de razonamiento. Si aún tienes problemas, envía un informe de errores.

Errores del bucket de Cloud Storage

Si tienes problemas con el bucket de etapa de pruebas de Cloud Storage que se usa en el momento de la implementación para recopilar y subir tu agente, puede deberse a uno de los siguientes problemas:

Errores de permisos

Solución recomendada:

Si deseas usar un bucket preexistente, asegúrate de que la principal que está autenticada para usar Vertex AI (ya sea tú mismo o una cuenta de servicio) tenga acceso Storage Admin al bucket y otórgale permisos a la Cuenta de servicio del motor de razonamiento administrada por Google.

Como alternativa, puedes especificar un bucket nuevo cuando implementes en el motor de razonamiento y el SDK del cliente del motor de razonamiento creará el bucket con los permisos necesarios.

Si los problemas persisten, presenta un informe de errores.

No se creó el subdirectorio del bucket de Cloud Storage

Problema:

Recibes un mensaje de error similar al siguiente:

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.

(El error 404 ocurre cuando el sistema intenta copiar en una carpeta que no existe).

Causa posible:

Es probable que esto se deba a un problema con la interpolación de cadenas en las versiones de google-cloud-aiplatform anteriores a la versión 1.49.0. Esto se corregió en versiones posteriores. Para verificar qué versión de google-cloud-aiplatform estás usando, ejecuta el siguiente comando en tu terminal:

pip show google-cloud-aiplatform

Solución recomendada:

Ejecuta el siguiente comando en la terminal para actualizar tu paquete:

pip install google-cloud-aiplatform --upgrade

Ejecuta el siguiente comando en tu terminal para verificar que estés usando la versión 1.49.0 o una posterior de google-cloud-aiplatform:

pip show google-cloud-aiplatform

Si usas una instancia de notebook (por ejemplo, Jupyter, Colab o Workbench), es posible que debas reiniciar el entorno de ejecución antes de poder usar los paquetes actualizados.