Plug-in de télémétrie et de journalisation Google Cloud

Le plug-in Google Cloud exporte les données de télémétrie et de journalisation de Firebase Genkit vers la suite Google Cloud Operations.

Prérequis

Si vous souhaitez exécuter localement des flux utilisant ce plug-in, vous devez installer l'outil Google Cloud CLI.

Configurer un compte Google Cloud

Ce plug-in nécessite un compte Google Cloud (inscrivez-vous si vous n'en possédez pas déjà un) et un projet Google Cloud.

Avant d'ajouter le plug-in, assurez-vous que les API suivantes sont activées pour votre projet :

Ces API doivent figurer dans le tableau de bord des API de votre projet.

Cliquez ici pour en savoir plus sur l'activation et la désactivation des API.

Configuration

Pour activer l'exportation vers Google Cloud Tracing, Logging et Monitoring, importez le package googlecloud et exécutez Init(). Après avoir appelé Init(), votre télémétrie est automatiquement exportée.

import "github.com/firebase/genkit/go/plugins/googlecloud"
if err := googlecloud.Init(
	ctx,
	googlecloud.Config{ProjectID: "your-google-cloud-project"},
); err != nil {
	return err
}

Vous devez spécifier le projet Google Cloud vers lequel vous souhaitez exporter les données de télémétrie. Vous pouvez également utiliser des paramètres facultatifs :

  • ForceExport : exportez les données de télémétrie même lorsque vous exécutez le code dans un environnement de développement (par exemple, lorsque vous utilisez genkit start ou genkit flow:run). Il s'agit d'un moyen rapide de tester votre intégration et d'envoyer vos premiers événements à des fins de surveillance dans Google Cloud.

    Si vous utilisez cette option, vous devez également rendre vos identifiants Cloud disponibles localement :

    gcloud auth application-default login
    
  • MetricInterval : intervalle, en nanosecondes, à partir duquel exporter les informations de télémétrie. La valeur par défaut est de 60 secondes (60e9 nanosecondes).

  • LogLevel : niveau de gravité minimal des entrées de journal à exporter. Par défaut, slog.LevelInfo.

Le plug-in nécessite les identifiants de votre projet Google Cloud. Si vous exécutez vos flux à partir d'un environnement Google Cloud (Cloud Run, etc.), les identifiants sont définis automatiquement. L'exécution dans d'autres environnements nécessite de configurer les identifiants par défaut de l'application.

Surveillance de la production via la suite Google Cloud Operations

Une fois un flux déployé, accédez à la suite Google Cloud Operations et sélectionnez votre projet.

Journaux et traces

Dans le menu latéral, recherchez "Journalisation" et cliquez sur "Explorateur de journaux".

Tous les journaux associés à votre flux déployé s'affichent, y compris console.log(). Tout journal portant le préfixe [genkit] est un journal interne de Genkit qui contient des informations pouvant être utiles à des fins de débogage. Par exemple, les journaux Genkit au format Config[...] contiennent des métadonnées telles que la température et les valeurs topK pour des inférences LLM spécifiques. Les journaux au format Output[...] contiennent les réponses du LLM, tandis que les journaux Input[...] contiennent les requêtes. Cloud Logging dispose de LCA robustes qui permettent un contrôle précis des journaux sensibles.

Pour accéder aux traces respectives de lignes de journal spécifiques, cliquez sur l'icône du menu étendu , puis sélectionnez "Afficher dans les détails de la trace".

Un volet d'aperçu de la trace s'affiche, offrant un aperçu rapide des détails de la trace. Pour obtenir tous les détails, cliquez sur le lien "Afficher dans la trace" en haut à droite du volet.

L'élément de navigation le plus visible dans Cloud Trace est le nuage de points. Il contient toutes les traces collectées sur une période donnée.

Cliquez sur chaque point de données pour afficher ses détails sous le nuage de points.

La vue détaillée contient la forme du flux, y compris toutes les étapes, ainsi que des informations temporelles importantes. Cloud Trace peut intercaler tous les journaux associés à une trace donnée dans cette vue. Sélectionnez l'option "Afficher développé" dans le menu déroulant "Journaux et événements".

La vue qui en résulte permet d'examiner en détail les journaux dans le contexte de la trace, y compris les requêtes et les réponses LLM.

Métriques

Pour afficher toutes les métriques exportées par Genkit, sélectionnez "Journalisation" dans le menu latéral, puis cliquez sur "Gestion des métriques".

La console de gestion des métriques contient une vue sous forme de tableau de toutes les métriques collectées, y compris celles qui concernent Cloud Run et son environnement. Cliquez sur l'option "Charge de travail" pour afficher une liste incluant les métriques collectées par Genkit. Toute métrique avec le préfixe genkit constitue une métrique Genkit interne.

Genkit collecte plusieurs catégories de métriques, y compris des métriques au niveau du flux, de l'action et de la génération. Chaque métrique comporte plusieurs dimensions utiles qui facilitent le filtrage et le regroupement.

Les dimensions courantes incluent:

  • flow_name : nom de premier niveau du flux.
  • flow_path : le segment et son segment parent se chevauchent jusqu'au segment racine.
  • error_code : en cas d'erreur, code d'erreur correspondant.
  • error_message : en cas d'erreur, le message d'erreur correspondant.
  • model : nom du modèle.
  • temperature : valeur de la température d'inférence.
  • topK : valeur de topK d'inférence.
  • topP : valeur de topP d'inférence.

Métriques au niveau du flux

Nom Dimensions
genkit/flow/requests flow_name, error_code, error_message
genkit/flow/latency flow_name

Métriques au niveau des actions

Nom Dimensions
genkit/action/requêtes flow_name, error_code, error_message
genkit/action/latency flow_name

Métriques au niveau de la génération

Nom Dimensions
genkit/ia/generate flow_path, model, temperature, topK, topP, error_code, error_message
genkit/ai/generate/input_tokens flow_path, model, temperature, topK, topP
genkit/ai/generate/output_tokens flow_path, model, temperature, topK, topP
genkit/ai/generate/input_characters flow_path, model, temperature, topK, topP
genkit/ai/generate/output_characters flux_path, modèle, température, topK, topP
genkit/ai/generate/input_images flow_path, model, temperature, topK, topP
genkit/ai/generate/output_images flow_path, model, temperature, topK, topP
genkit/ia/generate/latence flow_path, model, temperature, topK, topP, error_code, error_message

Vous pouvez visualiser les métriques dans l'explorateur de métriques. Dans le menu latéral, sélectionnez "Journalisation", puis cliquez sur "Explorateur de métriques".

Pour sélectionner une métrique, cliquez sur le menu déroulant "Sélectionner une métrique", puis sélectionnez "Nœud générique", "Genkit" et une métrique.

La visualisation de la métrique dépend de son type (compteur, histogramme, etc.). L'explorateur de métriques fournit des fonctionnalités d'agrégation et de requêtes robustes pour vous aider à représenter graphiquement les métriques en fonction de leurs différentes dimensions.

Délai de télémétrie

Un léger délai peut s'écouler avant que la télémétrie d'une exécution particulière d'un flux ne s'affiche dans la suite d'opérations de Cloud. Dans la plupart des cas, ce délai est inférieur à une minute.

Quotas et limites

Plusieurs quotas sont importants à prendre en compte :

Coût

Cloud Logging, Cloud Trace et Cloud Monitoring proposent des niveaux gratuits généreux. Vous trouverez les tarifs spécifiques sur les liens suivants :