Wtyczka Google Cloud do telemetrii i logowania

Wtyczka Google Cloud eksportuje dane telemetryczne i dane logowania Firebase Genkit do Google Cloud Operations Suite.

Wymagania wstępne

Jeśli chcesz lokalnie uruchamiać przepływy korzystające z tej wtyczki, potrzebujesz Zainstalowano narzędzie wiersza poleceń Google Cloud.

Skonfiguruj konto Google Cloud

Ta wtyczka wymaga konta Google Cloud (zarejestruj się, jeśli jeszcze go nie masz) oraz projektu Google Cloud.

Przed dodaniem wtyczki upewnij się, że w projekcie włączone są te interfejsy API:

Te interfejsy API powinny być wymienione w panelu interfejsów API Twojego projektu.

Aby dowiedzieć się więcej o włączaniu i wyłączaniu interfejsów API, kliknij tutaj.

Konfiguracja

Aby włączyć eksportowanie do Google Cloud Tracking, Logging i Monitoring, zaimportuj plik googlecloud pakietu i uruchamiania Init(). Po wywołaniu usługi Init() Twoje dane telemetryczne jest eksportowany automatycznie.

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

Musisz określić projekt Google Cloud, do którego chcesz eksportować dane telemetryczne. i skalowalnych danych. Jest też kilka opcjonalnych parametrów:

  • ForceExport: eksportuj dane telemetryczne nawet w środowisku programistycznym (np. gdy używasz genkit start lub genkit flow:run). To szybki sposób, aby przetestować integrację i wysyłać pierwsze zdarzenia do monitorowania w Google Google Cloud.

    Jeśli użyjesz tej opcji, musisz też udostępnić swoje dane logowania do Google Cloud lokalnie:

    gcloud auth application-default login
    
  • MetricInterval: interwał w nanosekundach, po którym następuje eksport danych telemetrycznych. i informacjami o nich. Domyślnie jest to 60 sekund (60e9 nanosekund).

  • LogLevel: minimalny poziom ważności wpisów logu do wyeksportowania. Domyślnie slog.LevelInfo

Wtyczka wymaga danych logowania do projektu Google Cloud. Jeśli biegasz ze środowiska Google Cloud (Cloud Run itp.), dane logowania są ustawiane automatycznie. Uruchamianie w innych środowiskach wymaga skonfigurowania Domyślne uwierzytelnianie aplikacji.

Monitorowanie produkcyjne za pomocą pakietu operacyjnego Google Cloud

Po wdrożeniu przepływu przejdź do pakietu operacyjnego Google Cloud i wybierz swój projekt.

Logi i logi czasu

W bocznym menu znajdź „Logowanie” i kliknij „Eksplorator logów”.

Wyświetlą się wszystkie logi powiązane z wdrożonym przepływem, w tym logi console.log(). Każdy log poprzedzony prefiksem [genkit] to wewnętrzny log Genkit zawierający informacje, które mogą przydać się podczas debugowania. Na przykład dzienniki Genkit w formacie Config[...] zawierają metadane, takie jak temperatura i wartości topK dla konkretnych wnioskowania LLM. Logi w formacie Output[...] zawierają odpowiedzi LLM, a logi Input[...] zawierają prompty. Usługa Cloud Logging ma rozbudowane listy kontroli dostępu, które umożliwiają szczegółową kontrolę nad poufnymi logami.

W przypadku określonych wierszy logu można przejść do odpowiednich logów czasu, klikając ikonę rozszerzonego menu i wybierając „Wyświetl w szczegółach logu czasu”.

Spowoduje to wyświetlenie panelu podglądu logu czasu, w którym możesz szybko sprawdzić szczegóły logu czasu. Aby przejść do pełnych szczegółów, kliknij „Wyświetl w Trace” w prawym górnym rogu panelu.

Najbardziej widocznym elementem nawigacyjnym w Cloud Trace jest wykres punktowy logu czasu. Zawiera wszystkie zebrane ślady w danym przedziale czasu.

Kliknięcie każdego punktu danych spowoduje wyświetlenie jego szczegółów pod wykresem punktowym.

Widok szczegółowy zawiera kształt przepływu, w tym wszystkie kroki oraz ważne informacje o czasie. Usługa Cloud Trace ma możliwość przeplatania w tym widoku wszystkich logów powiązanych z danym logiem czasu. Kliknij opcję „Pokaż rozwinięte”. w menu „Logs & wydarzenia" listę rozwijaną.

Widok wynikowy umożliwia szczegółowe badanie logów w kontekście logu czasu, w tym promptów i odpowiedzi LLM.

Dane

Aby wyświetlić wszystkie wskaźniki, które można wyeksportować przez Genkit, wybierz „Logging”. w menu bocznym i kliknij „Zarządzanie danymi”.

Konsola zarządzania wskaźnikami zawiera widok tabelaryczny wszystkich zebranych wskaźników, w tym tych dotyczących Cloud Run i jego otaczającego środowiska. Kliknij „Zadanie”. spowoduje wyświetlenie listy zawierającej dane zebrane przez Genkit. Wszystkie dane z prefiksem genkit stanowią wewnętrzne dane Genkit.

Genkit zbiera kilka kategorii wskaźników, w tym dane na poziomie przepływu, działania i danych na poziomie generowania. Każdy rodzaj danych ma kilka przydatnych wymiarów, które ułatwiają skuteczne filtrowanie i grupowanie.

Typowe wymiary to:

  • flow_name – nazwa najwyższego poziomu przepływu.
  • flow_path – span z nadrzędnym łańcuchem spanów sięgających do spanu pierwiastka.
  • error_code – w przypadku błędu: odpowiedni kod błędu.
  • error_message – w przypadku błędu: odpowiedni komunikat o błędzie.
  • model – nazwa modelu.
  • temperaturewartość temperatury wnioskowania.
  • topKwartość wnioskowania.
  • topPwartość górnego P wnioskowania.

Dane na poziomie przepływu

Nazwa Wymiary
genkit/flow/requests Flow_name, error_code oraz error_message
genkit/flow/opóźnienie nazwa_przepływu

Dane na poziomie działania

Nazwa Wymiary
genkit/action/requests Flow_name, error_code oraz error_message
generowanie/działanie/opóźnienie nazwa_przepływu

Generowanie danych na poziomie

Nazwa Wymiary
genkit/ai/generate ścieżka_przepływu, model, temperatura, topK, topP, kod_błędu oraz komunikat_błędu
genkit/ai/generate/input_tokens ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/output_tokens ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/input_characters ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/output_characters ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/input_images ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/output_images ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generowanie/opóźnienie ścieżka_przepływu, model, temperatura, topK, topP, kod_błędu oraz komunikat_błędu

Wizualizację wskaźników można wykonać za pomocą narzędzia Metrics Explorer. W bocznym menu wybierz „Logowanie”. i kliknij „Metrics Explorer”.

Aby wybrać dane, kliknij „Wybierz dane” wybierając „Węzeł ogólny”, „Genkit” i wskaźnik.

Wizualizacja danych zależy od ich typu (licznik, histogram itp.). Metrics Explorer udostępnia zaawansowane narzędzia do agregacji i wykonywania zapytań, które ułatwiają wykresy danych według różnych wymiarów.

Opóźnienie telemetryczne

Może wystąpić niewielkie opóźnienie w wyświetlaniu danych telemetrycznych dotyczących konkretnego wykonania przepływu w pakiecie operacyjnym Cloud. W większości przypadków opóźnienie nie przekracza 1 minuty.

Limity

Istnieje kilka limitów, o których należy pamiętać:

Koszt

Usługi Cloud Logging, Cloud Trace i Cloud Monitoring mają duże poziomy bezpłatne. Konkretne ceny znajdziesz na tych stronach: