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życiugenkit start
lubgenkit 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.temperature
– wartość temperatury wnioskowania.topK
– wartość inference topK.topP
– wartość 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:
- Limity Cloud Trace
- 128 bajtów na klucz atrybutu
- 256 bajtów na wartość atrybutu
- Limity Cloud Logging
- 256 KB na wpis w logu
- Limity Cloud Monitoring
Koszt
Usługi Cloud Logging, Cloud Trace i Cloud Monitoring mają obszerne bezpłatne poziomy. Szczegółowe ceny znajdziesz pod tymi linkami: