افزونه Google Cloud

افزونه Google Cloud داده های تله متری و ثبت نام Firebase Genkit را به مجموعه عملیات Google Cloud صادر می کند که داشبورد نظارت بر هوش مصنوعی Firebase (پیش نمایش خصوصی) را تامین می کند.

نصب و راه اندازی

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

اگر می‌خواهید جریان‌هایی را که از این افزونه استفاده می‌کنند به صورت محلی اجرا کنید، باید ابزار Google Cloud CLI را نیز نصب کنید.

یک حساب Google Cloud راه اندازی کنید

این افزونه به یک حساب Google Cloud (اگر قبلاً ندارید ثبت نام کنید ) و یک پروژه Google Cloud نیاز دارد.

قبل از افزودن افزونه، مطمئن شوید که API های زیر برای پروژه شما فعال هستند:

این APIها باید در داشبورد API پروژه شما فهرست شوند.

برای اطلاعات بیشتر در مورد فعال کردن و غیرفعال کردن APIها اینجا را کلیک کنید.

پیکربندی Genkit

برای فعال کردن صادرات به Google Cloud Tracing، Logging و Monitoring، کافیست enableGoogleCloudTelemetry() تماس بگیرید:

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

enableGoogleCloudTelemetry();

هنگام اجرا در تولید، تله متری شما به طور خودکار صادر می شود.

احراز هویت

این افزونه به شناسه پروژه Google Cloud و اعتبار پروژه Google Cloud شما نیاز دارد. اگر جریان خود را از یک محیط Google Cloud اجرا می کنید (توابع Cloud، Cloud Run و غیره)، شناسه پروژه و اعتبارنامه ها به طور خودکار تنظیم می شوند.

اعتبار پیش فرض برنامه

اجرای در محیط‌های دیگر مستلزم تنظیم متغیر محیطی GCLOUD_PROJECT برای پروژه Google Cloud و احراز هویت با استفاده از ابزار gcloud است:

gcloud auth application-default login

برای اطلاعات بیشتر، به اسناد اعتبار پیش فرض برنامه مراجعه کنید.

اعتبار حساب خدمات

اگر از یک حساب سرویس استفاده می کنید و خارج از محیط Google Cloud اجرا می کنید، می توانید اعتبار خود را به عنوان یک متغیر محیطی تنظیم کنید. دستورالعمل‌های اینجا را دنبال کنید تا کلید حساب Google Cloud Service خود را تنظیم کنید .

هنگامی که فایل کلید را دانلود کردید، می توانید اعتبارنامه را به دو صورت مشخص کنید. یک مکان فایل با استفاده از متغیر محیطی GOOGLE_APPLICATION_CREDENTIALS یا مستقیماً محتویات فایل json را در متغیر محیطی GCLOUD_SERVICE_ACCOUNT_CREDS کپی کنید.

مسیر فایل:

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

کپی مستقیم:

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"
}'

پیکربندی پلاگین

تابع enableGoogleCloudTelemetry() یک شی پیکربندی اختیاری می گیرد که نمونه 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,
});

اشیاء پیکربندی اجازه می دهد تا کنترل ریز دانه بر جنبه های مختلف صادرات تله متری که در زیر به آنها اشاره شده است.

اعتبارنامه

اجازه می دهد تا اعتبارنامه ها را مستقیماً با استفاده از JWTInput از کتابخانه google-ath تعیین کنید.

نمونه بردار

برای مواردی که صادرات همه ردیابی ها عملی نیست، OpenTelemetry اجازه نمونه برداری از ردیابی را می دهد.

چهار نمونه از پیش تنظیم شده وجود دارد:

  • AlwaysOnSampler - از همه ردیابی ها نمونه برداری می کند
  • AlwaysOffSampler - نمونه برداری بدون ردیابی
  • ParentBased - نمونه‌ها بر اساس فاصله والدین
  • TraceIdRatioBased - درصد قابل تنظیمی از ردیابی ها را نمونه برداری می کند

autoInstrumentation & autoInstrumentationConfig

فعال کردن ابزار دقیق خودکار به OpenTelemetry اجازه می دهد تا داده های تله متری را از کتابخانه های شخص ثالث بدون نیاز به تغییر کد ضبط کند.

metricExportIntervalMillis

این فیلد فاصله صادرات معیارها را بر حسب میلی ثانیه مشخص می کند.

metricExportTimeoutMillis

این فیلد مدت زمان خروج معیارها را بر حسب میلی ثانیه مشخص می کند.

غیرفعال کردن متریک

نادیده گرفتنی را ارائه می دهد که صادرات معیارها را غیرفعال می کند و در عین حال ردیابی ها و گزارش ها را صادر می کند.

غیرفعال کردن Traces

نادیده گرفتنی را ارائه می‌کند که در حین استخراج معیارها و گزارش‌ها، صادرات ردیابی را غیرفعال می‌کند.

غیرفعال کردن LoggingIO

یک نادیده گرفته می شود که جمع آوری گزارش های ورودی و خروجی را غیرفعال می کند.

forceDevExport

این گزینه Genkit را مجبور می کند که داده های تله متری و گزارش را هنگام اجرا در محیط dev (مثلاً به صورت محلی) صادر کند.

ادغام خود را آزمایش کنید

هنگام پیکربندی افزونه، از forceDevExport: true برای فعال کردن صادرات تله متری برای اجراهای محلی استفاده کنید. برای مشاهده تله متری به Google Cloud Logs، Metrics یا Trace Explorer بروید. روش دیگر، به داشبورد نظارت بر هوش مصنوعی Firebase (پیش‌نمایش خصوصی) برای نمای اصطلاحی هوش مصنوعی از تله‌متری بروید.