Plug-in di telemetria e logging di Google Cloud

Il plug-in Google Cloud esporta i dati di telemetria e logging di Firebase Genkit nella suite operativa di Google Cloud.

Prerequisiti

Se vuoi eseguire localmente i flussi che utilizzano questo plug-in, devi installare lo strumento Google Cloud CLI.

Configurare un account Google Cloud

Questo plug-in richiede un account Google Cloud (registrati se non ne hai già uno) e un progetto Google Cloud.

Prima di aggiungere il plug-in, assicurati che le seguenti API siano abilitate per il tuo progetto:

Queste API dovrebbero essere elencate nella dashboard delle API del progetto.

Fai clic qui per scoprire di più sull'attivazione e la disattivazione delle API.

Configurazione

Per attivare l'esportazione in Tracing, Logging e Monitoring di Google Cloud, importa il googlecloud pacchetto ed esegui Init(). Dopo aver chiamato Init(), la telemetria viene esportata automaticamente.

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

Devi specificare il progetto Google Cloud in cui vuoi esportare i dati di telemetria. Esistono anche alcuni parametri facoltativi:

  • ForceExport: esporta i dati di telemetria anche quando esegui l'app in un ambiente di sviluppo (ad esempio quando utilizzi genkit start o genkit flow:run). Si tratta di un modo rapido per testare l'integrazione e inviare i primi eventi per il monitoraggio in Google Cloud.

    Se utilizzi questa opzione, devi anche rendere disponibili le tue credenziali Cloud localmente:

    gcloud auth application-default login
    
  • MetricInterval: l'intervallo, in nanosecondi, a cui esportare le informazioni sulla telemetria. Per impostazione predefinita, è 60 secondi (60e9 nanosecondi).

  • LogLevel: il livello di gravità minimo delle voci di log da esportare. Per impostazione predefinita, slog.LevelInfo.

Il plug-in richiede le credenziali del tuo progetto Google Cloud. Se esegui i flussi da un ambiente Google Cloud (Cloud Run e così via), le credenziali vengono impostate automaticamente. L'esecuzione in altri ambienti richiede la configurazione delle credenziali predefinite dell'applicazione.

Monitoraggio della produzione tramite la suite operativa di Google Cloud

Una volta eseguito il deployment di un flusso, vai alla suite operativa di Google Cloud e seleziona il tuo progetto.

Log e tracce

Nel menu laterale, individua "Logging" e fai clic su "Esploratore dei log".

Vedrai tutti i log associati al flusso di cui hai eseguito il deployment, tra cui console.log(). Qualsiasi log con il prefisso [genkit] è un log interno di Genkit che contiene informazioni che potrebbero essere interessanti per il debug. Ad esempio, i log Genkit nel formato Config[...] contengono metadati come i valori di temperatura e topK per inferenze LLM specifiche. I log nel formato Output[...] contengono le risposte dell'LLM, mentre i log Input[...] contengono i prompt. Cloud Logging dispone di ACL efficaci che consentono un controllo granulare sui log sensibili.

Per righe di log specifiche, è possibile accedere alle rispettive tracce facendo clic sull'icona del menu esteso e selezionando "Visualizza nei dettagli della traccia".

Viene visualizzato un riquadro di anteprima della traccia che fornisce una rapida panoramica dei dettagli della traccia. Per visualizzare i dettagli completi, fai clic sul link "Visualizza nel tracciamento" in alto a destra nel riquadro.

L'elemento di navigazione più importante in Cloud Trace è il grafico a dispersione delle tracce. Contiene tutte le tracce raccolte in un determinato intervallo di tempo.

Se fai clic su ciascun punto dati, i relativi dettagli vengono visualizzati sotto il grafico a dispersione.

La visualizzazione dettagliata contiene la forma del flusso, inclusi tutti i passaggi, e informazioni importanti sui tempi. Cloud Trace ha la possibilità di intercalare tutti i log associati a una determinata traccia all'interno di questa visualizzazione. Seleziona l'opzione "Mostra espanso" nel menu a discesa "Log ed eventi".

La visualizzazione risultante consente un esame dettagliato dei log nel contesto della traccia, inclusi prompt e risposte LLM.

Metriche

Per visualizzare tutte le metriche esportate da Genkit, seleziona "Logging" dal menu laterale e fai clic su "Gestione delle metriche".

La console di gestione delle metriche contiene una visualizzazione tabulare di tutte le metriche raccolte, incluse quelle relative a Cloud Run e al relativo ambiente. Se fai clic sull'opzione "Workload", viene visualizzato un elenco che include le metriche raccolte da Genkit. Qualsiasi metrica con il prefisso genkit costituisce una metrica interna di Genkit.

Genkit raccoglie diverse categorie di metriche, tra cui quelle a livello di flusso, di azione e di generazione. Ogni metrica ha diverse dimensioni utili che facilitano il filtraggio e il raggruppamento.

Le dimensioni comuni includono:

  • flow_name: il nome di primo livello del flusso.
  • flow_path: l'intervallo e il relativo intervallo padre sono concatenati all'intervallo principale.
  • error_code: in caso di errore, il codice di errore corrispondente.
  • error_message: in caso di errore, il messaggio di errore corrispondente.
  • model: il nome del modello.
  • temperature: il valore della temperatura di inferenza.
  • topK: il valore topK dell'inferenza.
  • topP: il valore di inferenza topP.

Metriche a livello di flusso

Nome Dimensioni
genkit/flow/requests flow_name, error_code, error_message
genkit/flusso/latenza flow_name

Metriche a livello di azione

Nome Dimensioni
genkit/action/requests flow_name, error_code, error_message
genkit/action/latency flow_name

Metriche a livello di generazione

Nome Dimensioni
genkit/ai/generate flow_path, model, temperature, topK, topP, error_code, error_message
genkit/ai/generate/input_tokens flow_path, modello, temperatura, topK, topP
genkit/ai/generate/output_tokens flow_path, modello, temperatura, topK, topP
genkit/ai/generate/input_characters flow_path, model, temperature, topK, topP
genkit/ai/generate/output_characters flow_path, model, temperature, 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/ai/genera/latency flow_path, model, temperature, topK, topP, error_code, error_message

La visualizzazione delle metriche può essere eseguita tramite Metrics Explorer. Dal menu laterale, seleziona "Logging" (Logging) e fai clic su "Metrics Explorer" (Esplora metriche).

Seleziona una metrica facendo clic sul menu a discesa "Seleziona una metrica", selezionando "Nodo generico", "Genkit" e una metrica.

La visualizzazione della metrica dipende dal suo tipo (contatore, istogramma e così via). Metrics Explorer offre solide funzionalità di aggregazione e query per aiutarti a visualizzare le metriche in base alle varie dimensioni.

Ritardo della telemetria

Potrebbe verificarsi un leggero ritardo prima che la telemetria per una determinata esecuzione di un flusso venga visualizzata nella suite di operazioni di Cloud. Nella maggior parte dei casi, questo ritardo è inferiore a 1 minuto.

Quote e limiti

Esistono diverse quote che è importante tenere presente:

Costo

Cloud Logging, Cloud Trace e Cloud Monitoring offrono generosi livelli senza costi. I prezzi specifici sono disponibili ai seguenti link: