Wtyczka Google Cloud eksportuje dane telemetryczne i dane logowania Firebase Genkit do pakietu operacyjnego Google Cloud.
Wymagania wstępne
Jeśli chcesz lokalnie uruchamiać przepływy korzystające z tej wtyczki, musisz zainstalować narzędzie interfejsu 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.
Kliknij tutaj, aby dowiedzieć się więcej o włączaniu i wyłączaniu interfejsów API.
Konfiguracja
Aby włączyć eksportowanie do Google Cloud Tracking, Logging i Monitoring, zaimportuj pakiet googlecloud
i uruchom Init()
. Po wywołaniu funkcji Init()
dane telemetryczne są eksportowane 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. Jest też kilka opcjonalnych parametrów:
ForceExport
: eksportuj dane telemetryczne nawet wtedy, gdy pracujesz w środowisku programistycznym (np. wgenkit start
lubgenkit flow:run
). To szybki sposób na przetestowanie integracji i wysłanie pierwszych zdarzeń do monitorowania w Google Cloud.Jeśli użyjesz tej opcji, musisz też udostępnić dane logowania do Google Cloud lokalnie:
gcloud auth application-default login
MetricInterval
: interwał w nanosekundach, po którym mają być eksportowane informacje telemetryczne. Domyślnie jest to 60 sekund (60e9
nanosekund).LogLevel
: minimalny poziom ważności wpisów logu do wyeksportowania. Domyślnieslog.LevelInfo
.
Wtyczka wymaga danych logowania do projektu Google Cloud. Jeśli uruchamiasz przepływy ze środowiska Google Cloud (Cloud Run itp.), dane logowania są ustawiane automatycznie. Uruchamianie w innych środowiskach wymaga skonfigurowania domyślnych danych logowania 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 menu bocznym 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 zobaczyć pełne szczegóły, kliknij link „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. W menu „Logi i zdarzenia” wybierz opcję „Pokaż rozwinięte”.
Widok wynikowy umożliwia szczegółowe badanie logów w kontekście logu czasu, w tym promptów i odpowiedzi LLM.
Wskaźniki
Aby wyświetlić wszystkie wskaźniki wyeksportowane przez Genkit, wybierz „Logowanie” z bocznego menu, a następnie kliknij „Zarządzanie wskaźnikami”.
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. Po kliknięciu opcji „Zadanie” pojawi się lista ze wskaźnikami zebranymi 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.temperature
– wartość temperatury wnioskowania.topK
– wartość wnioskowania.topP
– wartość 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ć wskaźnik, kliknij menu „Wybierz wskaźnik”, wybierz „Węzeł ogólny”, „Genkit” i konkretny 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ć:
- Limity Cloud Trace
- 128 bajtów na klucz atrybutu
- 256 bajtów na wartość atrybutu
- Limity usługi Cloud Logging
- 256 KB na wpis logu
- Limity Cloud Monitoring
Koszt
Usługi Cloud Logging, Cloud Trace i Cloud Monitoring mają duże poziomy bezpłatne. Konkretne ceny znajdziesz na tych stronach: