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 utilizzigenkit start
ogenkit 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:
- Quote di Cloud Trace
- 128 byte per chiave attributo
- 256 byte per valore attributo
- Quote di Cloud Logging
- 256 KB per voce di log
- Quote di Cloud Monitoring
Costo
Cloud Logging, Cloud Trace e Cloud Monitoring offrono generosi livelli senza costi. I prezzi specifici sono disponibili ai seguenti link: