Wtyczka Google Cloud do śledzenia i rejestrowania danych

Wtyczka Google Cloud eksportuje dane telemetryczne i logowania Firebase Genkit do pakietu operacyjnego Google Cloud.

Wymagania wstępne

Jeśli chcesz lokalnie uruchamiać przepływy, które korzystają z tej wtyczki, musisz mieć zainstalowane narzędzie Google Cloud CLI.

Konfigurowanie konta Google Cloud

Ten wtyczek wymaga konta Google Cloud (zarejestruj się, jeśli jeszcze go nie masz) i projektu Google Cloud.

Zanim dodasz wtyczkę, sprawdź, czy w projekcie są włączone te interfejsy API:

Te interfejsy API powinny być widoczne 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 usługi śledzenia, rejestrowania i monitorowania Google Cloud, zaimportuj pakiet googlecloud i uruchom Init(). Po wywołaniu funkcji Init() telemetryka jest automatycznie eksportowana.

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

Musisz określić projekt Google Cloud, do którego chcesz eksportować dane telemetryczne. Dostępne są też parametry opcjonalne:

  • ForceExport: eksportuj dane telemetryczne nawet wtedy, gdy działasz w środowisku programistycznym (np. przy użyciu genkit start lub genkit flow:run). To szybki sposób na przetestowanie integracji i wysyłanie pierwszych zdarzeń do monitorowania w Google Cloud.

    Jeśli korzystasz z tej opcji, musisz też udostępnić dane logowania do Cloud lokalnie:

    gcloud auth application-default login
  • MetricInterval: interwał w nanosekundach, w którym mają być eksportowane informacje telemetrii. Domyślnie jest to 60 sekund (60e9 nanosekund).

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

Wtyczka wymaga danych logowania do projektu Google Cloud. Jeśli uruchamiasz przepływy z środowiska Google Cloud (Cloud Run itp.), dane uwierzytelniające są ustawiane automatycznie. Aby uruchomić aplikację w innych środowiskach, musisz skonfigurować domyślne uwierzytelnianie aplikacji.

Monitorowanie produkcji za pomocą pakietu operacyjnego Google Cloud

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

Logi i ślady

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

Zobaczysz wszystkie dzienniki powiązane z wdrożonym przepływem, w tym console.log(). Każdy dziennik z prefiksem [genkit] to wewnętrzny dziennik Genkitu, który zawiera informacje, które mogą być przydatne do debugowania. Na przykład dzienniki Genkit w formacie Config[...] zawierają metadane, takie jak temperatura i wartości topK dla konkretnych wnioskowań LLM. Dzienniki w formacie Output[...] zawierają odpowiedzi LLM, a dzienniki w formacie Input[...] – prompty. Cloud Logging ma solidne listy kontroli dostępu, które umożliwiają szczegółową kontrolę wrażliwych dzienników.

W przypadku konkretnych linii dziennika można przejść do ich odpowiednich śladów, klikając ikonę menu  i wybierając „Wyświetl szczegóły śladu”.

Otworzy się panel podglądu śledzenia, który zawiera szczegółowe informacje o śledzeniu. Aby wyświetlić pełne informacje, w prawym górnym rogu panelu kliknij link „Wyświetl w śledzeniu”.

Najważniejszym elementem nawigacji w Cloud Trace jest wykres rozrzutu. 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 danych, w tym wszystkie kroki i ważne informacje o czasie. Cloud Trace może przeplatać wszystkie dzienniki powiązane z danym śledzeniem w tym widoku. W menu „Logi i zdarzenia” kliknij „Pokaż rozwinięcie”.

Wyświetlony widok umożliwia szczegółowe zapoznanie się z logami w kontekście ścieżki, w tym z promptami i odpowiedziami LLM.

Dane

Aby wyświetlić wszystkie dane eksportowane przez Genkit, w menu bocznym kliknij „Rejestrowanie” i wybierz „Zarządzanie danymi”.

Konsola zarządzania danymi zawiera tabelę ze wszystkimi zebranymi danymi, w tym z danymi dotyczącymi Cloud Run i jego otoczenia. Po kliknięciu opcji „Workload” (Obciążenie) zobaczysz listę z danymi zebranymi przez Genkit. Każdy rodzaj danych z prefiksem genkit jest wewnętrznym rodzajem danych Genkit.

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

Typowe wymiary:

  • flow_name – nazwa najwyższego poziomu przepływu.
  • flow_path – element i jego element nadrzędny tworzą łańcuch aż do elementu wyższego poziomu.
  • 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.
  • topK – wartość inference topK.
  • topPwartość topP uzyskana na podstawie wnioskowania.

Dane na poziomie przepływu

Nazwa Wymiary
genkit/flow/requests flow_name, error_code, error_message
genkit/flow/latency flow_name

Dane na poziomie działania

Nazwa Wymiary
genkit/action/requests flow_name, error_code, error_message
genkit/action/latency flow_name

Dane na poziomie generowania

Nazwa Wymiary
genkit/ai/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 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/generate/latency flow_path, model, temperature, topK, topP, error_code, error_message

Wizualizację wskaźników można wykonać w narzędziu Metrics Explorer. W menu bocznym kliknij kolejno „Logowanie” i „Eksplorator danych”.

Wybierz dane, klikając menu „Wybierz dane”, wybierając „Generic Node”, „Genkit” i dane.

Wizualizacja danych zależy od ich typu (licznik, histogram itp.). Narzędzie Metrics Explorer udostępnia zaawansowane funkcje agregacji i wysyłania zapytań, które ułatwiają przedstawianie danych na wykresach w zależności od różnych wymiarów.

Opóźnienie telemetrii

Może minąć trochę czasu, zanim telemetria dotycząca konkretnego wykonania przepływu pojawi się w pakiecie operacyjnym Cloud. W większości przypadków opóźnienie wynosi mniej niż 1 minutę.

Limity

Należy pamiętać o kilku ważnych limitach:

Koszt

Usługi Cloud Logging, Cloud Trace i Cloud Monitoring mają obszerne bezpłatne poziomy. Szczegółowe ceny znajdziesz pod tymi linkami: