Ce document explique comment résoudre les erreurs que vous pouvez rencontrer lors du déploiement d'une application.
Erreurs de modèle prédéfini
Si vous rencontrez des problèmes avec le modèle LangchainAgent lors du déploiement, cela peut être dû à l'un des problèmes décrits dans cette section.
Erreurs Model Builder ou Runnable Builder
Problème :
Vous recevez un message d'erreur semblable à celui-ci :
AttributeError: 'LangchainAgent' object has no attribute '_model_builder'
ou
AttributeError: 'LangchainAgent' object has no attribute '_runnable_builder'
Cause possible :
Cela peut se produire si vous avez utilisé une version de google-cloud-aiplatform
postérieure à 1.50.0
pour définir votre LangchainAgent
dans votre environnement de développement, mais que vous la déployez avec une version antérieure à 1.51.0
dans requirements=
. Pour vérifier la version que vous utilisez dans votre environnement de développement, exécutez la commande suivante dans votre terminal :
pip show google-cloud-aiplatform
Solution recommandée :
Si vous utilisez une version de google-cloud-aiplatform
antérieure à la version 1.51.0
, spécifiez une version de google-cloud-aiplatform
antérieure à la version 1.51.0
dans requirements=
lors du déploiement du moteur de raisonnement.
Si vous utilisez une version de google-cloud-aiplatform
après la version 1.50.0
, spécifiez une version de google-cloud-aiplatform
après la version 1.50.0
dans requirements=
lors du déploiement du raisonnement moteur.
Erreurs internes du serveur
Problème :
Vous recevez un message d'erreur semblable à celui-ci :
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Malheureusement, il s'agit d'une erreur généralisée pour tout problème lié au conteneur au moment de l'exécution. La cause possible est l'une des nombreuses erreurs pouvant se produire.
Causes possibles :
- État modifié sur
LangchainAgent
. Cela peut se produire si.set_up()
a été appelé sur unLangchainAgent
avant le déploiement sur le moteur de raisonnement. - Versions de package incohérentes. Cela peut se produire si les packages installés dans l'environnement de développement sont différents de ceux installés dans l'environnement distant du moteur de raisonnement.
Solutions recommandées :
- État modifié sur
LangchainAgent
. Instanciez une nouvelle instance deLangchainAgent
ou supprimezagent.set_up()
du code avant de déployer sur le moteur de raisonnement. - Spécifications de package incohérentes. Consultez la section sur le dépannage des erreurs de sérialisation.
Erreurs de sérialisation
En général, il est important de s'assurer que les environnements "local" et "distant" sont synchronisés lors du déploiement sur le moteur de raisonnement. Pour ce faire, spécifiez requirements=
lorsque vous déployez sur le moteur de raisonnement.
Si vous rencontrez des problèmes de sérialisation (les erreurs liées au "pickle" ou au "pickling" sont synonymes d'erreurs de "sérialisation"), cela peut être dû à l'un des problèmes décrits dans cette section.
Version Pydantic
Problème :
Vous recevez un message d'erreur semblable à celui-ci :
PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator
Cause possible :
Cela peut se produire si votre package pydantic
est antérieur à la version 2.6.4
. Pour vérifier la version que vous utilisez, exécutez la commande suivante dans votre terminal :
pip show pydantic
Solution recommandée :
Mettez à jour votre package en exécutant la commande suivante dans le terminal :
pip install pydantic --upgrade
Exécutez la commande suivante dans votre terminal pour vérifier que vous utilisez la version 2.6.4
ou une version ultérieure :
pip show pydantic
Si vous êtes dans une instance de notebook (par exemple, Jupyter, Colab ou Workbench), vous devrez peut-être redémarrer votre environnement d'exécution pour utiliser les packages mis à jour.
Version Cloudpickle
Problème :
Vous recevez un message d'erreur semblable à celui-ci :
AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>
Cause possible :
Cela peut se produire si la version de votre package cloudpickle
est différente dans votre environnement de développement et votre environnement de déploiement. Pour vérifier quelle version vous utilisez en développement, exécutez la commande suivante dans votre terminal :
pip show cloudpickle
Solution recommandée :
Déployez la même version de Cloudpickle dans les deux environnements (votre environnement de développement local et l'environnement Reasoning Engine déployé à distance) en spécifiant requirements=
lors du déploiement du moteur de raisonnement.
Erreurs internes du serveur
Problème :
Vous recevez un message d'erreur semblable à celui-ci :
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Cause possible :
Cela peut se produire si sys_version=
est différent de l'environnement de développement lors du déploiement sur le moteur de raisonnement.
Solution recommandée :
Envisagez de supprimer sys_version=
des arguments d'entrée lors du déploiement sur le moteur de raison. Si le problème persiste, envoyez un rapport de bug.
Erreurs du bucket Cloud Storage
Si vous rencontrez des problèmes avec le bucket de préproduction Cloud Storage utilisé au moment du déploiement pour collecter et importer votre agent, cela peut être dû à l'une des raisons suivantes :
Erreurs liées aux autorisations
Solution recommandée :
Si vous souhaitez utiliser un bucket préexistant, assurez-vous que le compte principal authentifié pour utiliser Vertex AI (vous-même ou un compte de service) dispose d'un accès Storage Admin
au bucket, et accordez des autorisations au compte de service de moteur de raisonnement géré par Google.
Vous pouvez également spécifier un nouveau bucket lors du déploiement sur le moteur de raisonnement afin que le SDK client du moteur de raisonnement crée le bucket avec les autorisations nécessaires.
Si le problème persiste, envoyez un rapport de bug.
Le sous-répertoire du bucket Cloud Storage n'est pas créé
Problème :
Vous recevez un message d'erreur semblable à celui-ci :
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.
(L'erreur 404 se produit lorsque le système tente de copier dans un dossier qui n'existe pas.)
Cause possible :
Ce problème est probablement dû à un problème d'interpolation de chaîne dans les versions de google-cloud-aiplatform
antérieures à la version 1.49.0
. Ce problème est corrigé dans les versions ultérieures. Pour vérifier la version de google-cloud-aiplatform
que vous utilisez, exécutez la commande suivante dans votre terminal :
pip show google-cloud-aiplatform
Solution recommandée :
Mettez à jour votre package en exécutant la commande suivante dans le terminal :
pip install google-cloud-aiplatform --upgrade
Vérifiez que vous utilisez la version 1.49.0
ou une version ultérieure de google-cloud-aiplatform
en exécutant la commande suivante dans votre terminal :
pip show google-cloud-aiplatform
Si vous utilisez une instance de notebook (par exemple, Jupyter, Colab ou Workbench), vous devrez peut-être redémarrer votre environnement d'exécution avant de pouvoir utiliser les packages mis à jour.