Trình bổ trợ Google Cloud

Trình bổ trợ Google Cloud sẽ xuất dữ liệu đo từ xa và nhật ký của Firebase Genkit sang bộ công cụ hoạt động của Google Cloud. Bộ công cụ này hỗ trợ trang tổng quan về tính năng Giám sát AI của Firebase (bản xem trước riêng tư).

Lắp đặt

npm i --save @genkit-ai/google-cloud

Nếu muốn chạy các luồng sử dụng trình bổ trợ này trên máy, bạn cũng cần cài đặt công cụ Google Cloud CLI.

Thiết lập tài khoản Google Cloud

Trình bổ trợ này yêu cầu một tài khoản Google Cloud (đăng ký nếu bạn chưa có) và một dự án Google Cloud.

Trước khi thêm trình bổ trợ, hãy đảm bảo rằng bạn đã bật các API sau cho dự án:

Các API này sẽ được liệt kê trong trang tổng quan API cho dự án của bạn.

Nhấp vào đây để tìm hiểu thêm về cách bật và tắt API.

Cấu hình Genkit

Để bật tính năng xuất sang Google Cloud Tracing, Logging và Monitoring, bạn chỉ cần gọi enableGoogleCloudTelemetry():

import { enableGoogleCloudTelemetry } from '@genkit-ai/google-cloud';

enableGoogleCloudTelemetry();

Khi chạy trong môi trường thực tế, dữ liệu đo từ xa sẽ tự động được xuất.

Xác thực

Trình bổ trợ này yêu cầu mã dự án Google Cloud và thông tin xác thực dự án Google Cloud của bạn. Nếu bạn đang chạy flow từ môi trường Google Cloud (Cloud Functions, Cloud Run, v.v.), thì mã dự án và thông tin xác thực sẽ được đặt tự động.

Thông tin xác thực mặc định của ứng dụng

Để chạy trong các môi trường khác, bạn cần đặt biến môi trường GCLOUD_PROJECT thành dự án Google Cloud và xác thực bằng công cụ gcloud:

gcloud auth application-default login

Để biết thêm thông tin, hãy xem tài liệu về Thông tin xác thực mặc định của ứng dụng.

Thông tin đăng nhập của tài khoản dịch vụ

Nếu đang sử dụng tài khoản dịch vụ và chạy bên ngoài môi trường Google Cloud, bạn có thể đặt thông tin xác thực làm biến môi trường. Làm theo hướng dẫn tại đây để thiết lập Khoá tài khoản dịch vụ Google Cloud.

Sau khi tải tệp khoá xuống, bạn có thể chỉ định thông tin xác thực theo hai cách: vị trí tệp bằng cách sử dụng biến môi trường GOOGLE_APPLICATION_CREDENTIALS hoặc sao chép trực tiếp nội dung của tệp json vào biến môi trường GCLOUD_SERVICE_ACCOUNT_CREDS.

Đường dẫn tệp:

GOOGLE_APPLICATION_CREDENTIALS = "path/to/your/key/file"

Sao chép trực tiếp:

GCLOUD_SERVICE_ACCOUNT_CREDS='{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "your-private-key-id",
  "private_key": "your-private-key",
  "client_email": "your-client-email",
  "client_id": "your-client-id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "your-cert-url"
}'

Cấu hình trình bổ trợ

Hàm enableGoogleCloudTelemetry() nhận một đối tượng cấu hình không bắt buộc để định cấu hình thực thể OpenTelemetry NodeSDK.

import { AlwaysOnSampler } from '@opentelemetry/sdk-trace-base';

enableGoogleCloudTelemetry({
  forceDevExport: false, // Set this to true to export telemetry for local runs
  sampler: new AlwaysOnSampler(),
  autoInstrumentation: true,
  autoInstrumentationConfig: {
    '@opentelemetry/instrumentation-fs': { enabled: false },
    '@opentelemetry/instrumentation-dns': { enabled: false },
    '@opentelemetry/instrumentation-net': { enabled: false },
  },
  metricExportIntervalMillis: 5_000,
});

Các đối tượng cấu hình cho phép kiểm soát chi tiết nhiều khía cạnh của quá trình xuất dữ liệu đo từ xa được nêu dưới đây.

thông tin xác thực

Cho phép chỉ định thông tin xác thực trực tiếp bằng cách sử dụng JWTInput từ thư viện google-auth.

bộ lấy mẫu

Đối với những trường hợp không thể xuất tất cả dấu vết, OpenTelemetry cho phép lấy mẫu dấu vết.

Có 4 bộ lấy mẫu được định cấu hình trước:

autoInstrumentation và autoInstrumentationConfig

Việc bật tính năng thiết bị đo lường tự động cho phép OpenTelemetry thu thập dữ liệu đo từ xa từ thư viện bên thứ ba mà không cần sửa đổi mã.

metricExportIntervalMillis

Trường này chỉ định khoảng thời gian xuất chỉ số tính bằng mili giây.

metricExportTimeoutMillis

Trường này chỉ định thời gian chờ để xuất chỉ số tính bằng mili giây.

disableMetrics

Cung cấp một cơ chế ghi đè để tắt tính năng xuất chỉ số trong khi vẫn xuất dấu vết và nhật ký.

disableTraces

Cung cấp một cơ chế ghi đè để tắt tính năng xuất dấu vết trong khi vẫn xuất các chỉ số và nhật ký.

disableLoggingIO

Cung cấp một cơ chế ghi đè để tắt tính năng thu thập nhật ký đầu vào và đầu ra.

forceDevExport

Tuỳ chọn này sẽ buộc Genkit xuất dữ liệu đo từ xa và nhật ký khi chạy trong môi trường dev (ví dụ: cục bộ).

Kiểm thử quá trình tích hợp

Khi định cấu hình trình bổ trợ, hãy sử dụng forceDevExport: true để bật tính năng xuất dữ liệu đo từ xa cho các lần chạy cục bộ. Chuyển đến Nhật ký Google Cloud, Chỉ số hoặc Trình khám phá dấu vết để xem dữ liệu đo từ xa. Ngoài ra, hãy chuyển đến Bảng điều khiển giám sát AI của Firebase (bản xem trước riêng tư) để xem thông tin đo từ xa theo ngôn ngữ AI.