Google Cloud telemetri ve günlük kaydı eklentisi

Google Cloud eklentisi, Firebase Genkit'in telemetri ve günlük kaydı verilerini Google Cloud'un işlem paketi.

Ön koşullar

Bu eklentiyi kullanan akışları yerel olarak çalıştırmak istiyorsanız Google Cloud CLI aracı yüklenmiş olmalıdır.

Google Cloud hesabı oluşturun

Bu eklenti için bir Google Cloud hesabı (hesabınız yoksa kaydolun) ve bir Google Cloud projesi gerekir.

Eklentiyi eklemeden önce projeniz için aşağıdaki API'lerin etkinleştirildiğinden emin olun:

Bu API'ler projenizin API kontrol panelinde listelenmelidir.

API'leri etkinleştirme ve devre dışı bırakma hakkında daha fazla bilgi edinmek için burayı tıklayın.

Yapılandırma

Google Cloud Tracing, Logging ve Monitoring'e aktarmayı etkinleştirmek için googlecloud paketini çalıştırıp Init() çalıştırın. Init() çağrısından sonra telemetri otomatik olarak dışa aktarılır.

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

Telemetriyi dışa aktarmak istediğiniz Google Cloud projesini belirtmeniz gerekir dışı verilerdir. Bazı isteğe bağlı parametreler de mevcuttur:

  • ForceExport: Bir geliştirme ortamında çalışırken bile telemetri verilerini dışa aktarın (ör. genkit start veya genkit flow:run). Bu, uygulama yükleme ve ilk etkinliklerinizi Google'a göndererek etkileşiminizi test edebilirsiniz. Cloud'da geliştiricilerin karşılaştığı yaygın sorunları çözmenize ve kullanım alanlarını öğrenmenize yardımcı olacak teknik belgeleri ve videoları keşfedin.

    Bu seçeneği kullanırsanız Cloud kimlik bilgilerinizi de kullanılabilir hale getirmeniz gerekir yerel olarak:

    gcloud auth application-default login
    
  • MetricInterval: Telemetrinin dışa aktarılacağı nanosaniye cinsinden aralık ekleyebilirsiniz. Varsayılan olarak bu süre 60 saniyedir (60e9 nanosaniye).

  • LogLevel: Dışa aktarılacak günlük girişlerinin minimum önem düzeyi. Varsayılan olarak slog.LevelInfo

Eklenti için Google Cloud projesi kimlik bilgileriniz gerekir. Koşu Cloud Run gibi bir ortamdan akışlarınızı sağladığınızda kimlik bilgileri otomatik olarak ayarlanır. Diğer ortamlarda çalışması için kurulum gerekir Application Default Credentials (Uygulama Varsayılan Kimlik Bilgileri).

Google Cloud'un işlem paketi ile üretim izleme

Akış dağıtıldıktan sonra Google Cloud işlem paketine gidin ve projenizi seçin.

Günlükler ve izler

Yan menüden "Logging"i (Günlük Kaydı) bulun ve "Günlük gezgini"ni tıklayın.

console.log() dahil olmak üzere dağıtılan akışınızla ilişkili tüm günlükleri göreceksiniz. [genkit] önekine sahip tüm günlükler, hata ayıklama amacıyla ilgi çekebilecek bilgileri içeren bir Genkit-internal günlüktür. Örneğin, Config[...] biçimindeki Genkit günlükleri, belirli LLM çıkarımları için sıcaklık ve topK değerleri gibi meta verileri içerir. Output[...] biçimindeki günlükler LLM yanıtlarını, Input[...] günlükleri ise istemleri içerir. Cloud Logging, hassas günlükler üzerinde ayrıntılı denetim sağlayan güçlü EKL'lere sahiptir.

Belirli günlük satırlarında, genişletilmiş menü simgesini tıklayıp "İz ayrıntılarında göster"i seçerek ilgili izlerine gidebilirsiniz.

Bu, iz ayrıntılarına hızlı bir bakış sunan iz önizleme bölmesini açar. Tüm ayrıntılara ulaşmak için "View in Trace" (İzlemede Görüntüle) öğesini tıklayın. bağlantısını tıklayın.

Cloud Trace'teki en belirgin gezinme öğesi, iz dağılım grafiğidir. Belirli bir zaman aralığında toplanan tüm izleri içerir.

Dağılım grafiğinin altında her bir veri noktası tıklandığında ilgili veri noktasının ayrıntıları gösterilir.

Ayrıntılı görünüm, tüm adımlar dahil olmak üzere akış şeklini ve önemli zamanlama bilgilerini içerir. Cloud Trace, bu görünümde belirli bir izle ilişkili tüm günlükleri arayamaz. "Genişletilmiş göster"i seçin "Günlükler ve etkinlikler" açılır.

Sonuç olarak elde edilen görünüm, istemler ve LLM yanıtları dahil olmak üzere günlüklerin iz bağlamında ayrıntılı olarak incelenmesini sağlar.

Metrikler

"Günlük kaydı"nı seçerek Genkit'in dışa aktarabildiği tüm metrikleri görüntüleme. "Metrik yönetimi"ni tıklayın.

Metrik yönetimi konsolunda, Cloud Run ve çevresindeki ortamla ilgili olanlar da dahil olmak üzere toplanan tüm metriklerin tablo halindeki bir görünümü yer alır. 'İş Yükü'nü tıklayın. seçeneğini tıkladığınızda Genkit tarafından toplanan metrikleri içeren bir liste gösterilir. genkit ön ekine sahip herhangi bir metrik, dahili Genkit metriği teşkil eder.

Genkit; akış düzeyi, işlem düzeyi ve oluşturma düzeyinde metrikler gibi çeşitli metrik kategorilerini toplar. Her metriğin, etkili bir filtreleme ve gruplandırmayı kolaylaştıran birkaç kullanışlı boyutu vardır.

Sık kullanılan boyutlar şunlardır:

  • flow_name - akışın üst düzey adı.
  • flow_path - kök aralığına kadar aralık ve üst aralık zinciri.
  • error_code - Hata durumunda, ilgili hata kodu.
  • error_message - Hata durumunda ilgili hata mesajı.
  • model - modelin adı.
  • temperature - çıkarım sıcaklığı değeri.
  • topK - çıkarım topK değeri.
  • topP - çıkarım topP değeri.

Akış düzeyindeki metrikler

Ad Boyutlar
genkit/akış/istekleri akış_adı, error_code, error_message
genkit/akış/gecikme akış_adı

İşlem düzeyindeki metrikler

Ad Boyutlar
genkit/işlem/istekler akış_adı, error_code, error_message
oluşturma/işlem/gecikme akış_adı

Oluşturma düzeyinde metrikler

Ad Boyutlar
genkit/yai/üretme akış_yolu, model, sıcaklık, topK, üstP, hata_kodu, hata_mesajı
genkit/ai/üretme/girdi_jetonları akış_yolu, model, sıcaklık, topK, topP
genkit/ai/üretme/çıkış_jetonları akış_yolu, model, sıcaklık, topK, topP
genkit/ai/generate/input_characters akış_yolu, model, sıcaklık, topK, topP
genkit/yai/üretken/çıkış_karakterleri akış_yolu, model, sıcaklık, topK, topP
genkit/ai/üret/girdi_resimleri akış_yolu, model, sıcaklık, topK, topP
genkit/yai/üretme/çıktı_resimleri akış_yolu, model, sıcaklık, topK, topP
genkit/ai/üretme/gecikme akış_yolu, model, sıcaklık, topK, üstP, hata_kodu, hata_mesajı

Metrikleri görselleştirmek için Metrik Gezgini kullanılabilir. Yan menüyü kullanarak "Günlük Kaydı"nı seçin ve "Metrik gezgini"ni tıklayın

"Metrik seçin"i tıklayarak bir metrik seçin açılır listesinden "Genel Düğüm", "Genkit"i ve bir metrik seçebilirsiniz.

Metriğin görselleştirmesi türüne (sayaç, histogram vb.) bağlı olur. Metrik Gezgini, metriklerin çeşitli boyutlarına göre grafiğe dökülmesine yardımcı olmak için güçlü toplama ve sorgulama olanakları sağlar.

Telemetri Gecikmesi

Cloud'un işlem paketinde bir akışın belirli bir şekilde yürütülmesiyle ilgili telemetrinin gösterilmesinden önce kısa bir gecikme olabilir. Çoğu durumda bu gecikme 1 dakikadan azdır.

Kotalar ve sınırlar

Unutulmaması gereken birkaç kota vardır:

Maliyet

Cloud Logging, Cloud Trace ve Cloud Monitoring, ücretsiz olarak sunulan katmanlara sahiptir. Özel fiyatlandırmaya aşağıdaki bağlantılardan ulaşabilirsiniz: