Résoudre les problèmes à l'aide d'une application

Ce document explique comment résoudre les erreurs que vous pouvez rencontrer lors de l'utilisation d'une application.

Les schémas d'opération sont vides.

Si votre application renvoie une liste vide à partir de .operation_schemas(), cela peut être dû à l'un des problèmes suivants :

Échec de la génération d'un schéma lors de la création de l'application

Problème :

Lorsque vous déployez votre application, vous recevez un avertissement semblable à celui-ci :

WARNING:vertexai.reasoning_engines._reasoning_engines:failed to generate schema: issubclass() arg 1 must be a class

Cause possible :

Cet avertissement peut s'afficher si vous déployez une application à l'aide du modèle LangchainAgent prédéfini sur une version de google-cloud-aiplatform antérieure à 1.49.0. Pour vérifier quelle version vous utilisez, exécutez la commande suivante dans le terminal :

pip show google-cloud-aiplatform

Solution recommandée :

Exécutez la commande suivante dans votre terminal pour mettre à jour votre package google-cloud-aiplatform :

pip install google-cloud-aiplatform --upgrade

Après avoir mis à jour votre package google-cloud-aiplatform, exécutez la commande suivante pour vérifier que sa version est 1.49.0 ou ultérieure :

pip show google-cloud-aiplatform

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 le package mis à jour. Après avoir vérifié que la version de google-cloud-aiplatform est 1.49.0 ou ultérieure, essayez à nouveau de déployer votre application.

Erreur PermissionDenied lors de l'interrogation de votre application

Votre requête peut échouer si vous ne disposez pas des autorisations requises.

Autorisations LLM

Problème :

Vous pouvez recevoir une erreur PermissionDenied semblable à celle-ci :

PermissionDenied: 403 Permission 'aiplatform.endpoints.predict' denied on resource 
'//aiplatform.googleapis.com/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/
google/models/{MODEL}' (or it may not exist). [reason: "IAM_PERMISSION_DENIED"
domain: "aiplatform.googleapis.com"
metadata {
  key: "permission"
  value: "aiplatform.endpoints.predict"
}
metadata {
  key: "resource"
  value: "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL}"
}
]

Cause possible :

Votre compte de service ne dispose peut-être pas des autorisations appropriées pour interroger votre grand modèle de langage (LLM).

Solution recommandée :

Assurez-vous que votre compte de service dispose des autorisations IAM (Identity and Access Management) appropriées répertoriées dans le message d'erreur. Voici un exemple d'autorisation IAM qui vous manque peut-être : aiplatform.endpoints.predict. Pour en savoir plus, consultez la section Configurer les autorisations de l'agent de service.

Demande non valide

Si vous rencontrez des problèmes de requêtes non valides lors de l'interrogation de votre application, cela peut être dû à l'un des problèmes décrits dans cette section.

FailedPrecondition

Problème :

Vous pouvez recevoir une erreur FailedPrecondition semblable à celle-ci :

FailedPrecondition: 400 Reasoning Engine Execution failed. Error Details:
{"detail":"Invalid request: `{'query': ...}`"}

Cause possible :

Cela peut se produire si vous appelez agent.query(query_str) au lieu de agent.query(input=query_str) (c'est-à-dire si vous spécifiez les entrées de la requête en tant qu'arguments de position au lieu d'arguments de mot clé).

Solution recommandée :

Lorsque vous interrogez une instance d'un moteur de raisonnement qui a été déployé, spécifiez toutes les entrées en tant qu'arguments de mot clé (par exemple, agent.query(input=query_str)).