গুগল ক্লাউড প্লাগইন

Google ক্লাউড প্লাগইন Firebase Genkit এর টেলিমেট্রি এবং লগিং ডেটা Google ক্লাউডের অপারেশন স্যুটে রপ্তানি করে যা Firebase AI মনিটরিং ড্যাশবোর্ড (ব্যক্তিগত প্রিভিউ) কে ক্ষমতা দেয়।

ইনস্টলেশন

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

আপনি যদি স্থানীয়ভাবে এই প্লাগইনটি ব্যবহার করে এমন ফ্লো চালাতে চান, তাহলে আপনাকে Google Cloud CLI টুল ইনস্টল করতে হবে।

একটি Google ক্লাউড অ্যাকাউন্ট সেট আপ করুন৷

এই প্লাগইনটির জন্য একটি Google ক্লাউড অ্যাকাউন্ট প্রয়োজন (আপনার যদি ইতিমধ্যে একটি না থাকে তবে সাইন আপ করুন ) এবং একটি Google ক্লাউড প্রকল্প।

প্লাগইন যোগ করার আগে, নিশ্চিত করুন যে নিম্নলিখিত APIগুলি আপনার প্রকল্পের জন্য সক্ষম করা হয়েছে:

এই APIগুলি আপনার প্রকল্পের জন্য API ড্যাশবোর্ডে তালিকাভুক্ত করা উচিত।

API সক্রিয় এবং নিষ্ক্রিয় সম্পর্কে আরও জানতে এখানে ক্লিক করুন৷

জেনকিট কনফিগারেশন

Google ক্লাউড ট্রেসিং, লগিং এবং মনিটরিং-এ রপ্তানি সক্ষম করতে, কেবল কল করুন enableGoogleCloudTelemetry() :

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

enableGoogleCloudTelemetry();

উৎপাদনে চলাকালীন, আপনার টেলিমেট্রি স্বয়ংক্রিয়ভাবে রপ্তানি হয়।

প্রমাণীকরণ

প্লাগইনটির জন্য Google ক্লাউড প্রকল্প আইডি এবং আপনার Google ক্লাউড প্রকল্পের শংসাপত্র প্রয়োজন৷ আপনি যদি Google ক্লাউড পরিবেশ (ক্লাউড ফাংশন, ক্লাউড রান, ইত্যাদি) থেকে আপনার প্রবাহ চালাচ্ছেন, তাহলে প্রজেক্ট আইডি এবং শংসাপত্রগুলি স্বয়ংক্রিয়ভাবে সেট হয়ে যাবে।

অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র

অন্যান্য পরিবেশে চালানোর জন্য আপনার Google ক্লাউড প্রকল্পে GCLOUD_PROJECT এনভায়রনমেন্ট ভেরিয়েবল সেট করতে হবে এবং gcloud টুল ব্যবহার করে প্রমাণীকরণ করতে হবে:

gcloud auth application-default login

আরও তথ্যের জন্য, অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ডক্স দেখুন।

পরিষেবা অ্যাকাউন্টের শংসাপত্র

আপনি যদি একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করেন এবং একটি Google ক্লাউড পরিবেশের বাইরে চালান তবে আপনি একটি পরিবেশ পরিবর্তনশীল হিসাবে আপনার শংসাপত্রগুলি সেট করতে পারেন৷ আপনার Google ক্লাউড পরিষেবা অ্যাকাউন্ট কী সেট আপ করতে এখানে নির্দেশাবলী অনুসরণ করুন৷

একবার আপনি কী ফাইলটি ডাউনলোড করার পরে, আপনি দুটি উপায়ে শংসাপত্রগুলি নির্দিষ্ট করতে পারেন; GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে একটি ফাইলের অবস্থান অথবা এনভায়রনমেন্ট ভেরিয়েবল GCLOUD_SERVICE_ACCOUNT_CREDS এ সরাসরি json ফাইলের বিষয়বস্তু কপি করুন।

ফাইল পাথ:

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,
});

কনফিগারেশন অবজেক্টগুলি নীচে বর্ণিত টেলিমেট্রি এক্সপোর্টের বিভিন্ন দিকের উপর সূক্ষ্ম দানাদার নিয়ন্ত্রণের অনুমতি দেয়।

শংসাপত্র

google-auth লাইব্রেরি থেকে সরাসরি JWTInput ব্যবহার করে শংসাপত্রগুলি নির্দিষ্ট করার অনুমতি দেয়৷

নমুনা

এমন ক্ষেত্রে যেখানে সমস্ত ট্রেস রপ্তানি করা ব্যবহারিক নয়, OpenTelemetry ট্রেস স্যাম্পলিংয়ের অনুমতি দেয়।

চারটি পূর্ব-কনফিগার করা নমুনা রয়েছে:

অটোইন্সট্রুমেন্টেশন এবং অটোইন্সট্রুমেন্টেশন কনফিগারেশন

স্বয়ংক্রিয় ইন্সট্রুমেন্টেশন সক্ষম করা ওপেনটেলিমেট্রিকে কোড পরিবর্তন করার প্রয়োজন ছাড়াই তৃতীয় পক্ষের লাইব্রেরি থেকে টেলিমেট্রি ডেটা ক্যাপচার করতে দেয়।

মেট্রিক এক্সপোর্ট ইন্টারভালমিলিস

এই ক্ষেত্রটি মিলিসেকেন্ডে মেট্রিক্স এক্সপোর্ট ব্যবধান নির্দিষ্ট করে।

metricExportTimeoutMillis

এই ক্ষেত্রটি মিলিসেকেন্ডে মেট্রিক্স এক্সপোর্টের সময়সীমা নির্দিষ্ট করে।

নিষ্ক্রিয় মেট্রিক্স

একটি ওভাররাইড প্রদান করে যা এখনও ট্রেস এবং লগ রপ্তানি করার সময় মেট্রিক্স এক্সপোর্ট অক্ষম করে।

নিষ্ক্রিয় ট্রেস

একটি ওভাররাইড প্রদান করে যা মেট্রিক্স এবং লগ এক্সপোর্ট করার সময় রপ্তানি ট্রেস অক্ষম করে।

লগিংআইও অক্ষম করুন

একটি ওভাররাইড প্রদান করে যা ইনপুট এবং আউটপুট লগ সংগ্রহ করা অক্ষম করে।

forceDevExport

এই বিকল্পটি জেনকিটকে dev পরিবেশে (যেমন স্থানীয়ভাবে) চালানোর সময় টেলিমেট্রি এবং লগ ডেটা রপ্তানি করতে বাধ্য করবে।

আপনার ইন্টিগ্রেশন পরীক্ষা করুন

প্লাগইন কনফিগার করার সময়, স্থানীয় রানের জন্য টেলিমেট্রি এক্সপোর্ট সক্ষম করতে forceDevExport: true ব্যবহার করুন। টেলিমেট্রি দেখতে Google ক্লাউড লগ, মেট্রিক্স বা ট্রেস এক্সপ্লোরার-এ নেভিগেট করুন। বিকল্পভাবে, টেলিমেট্রির AI-বাক্যপূর্ণ দৃশ্যের জন্য Firebase AI মনিটরিং ড্যাশবোর্ডে (ব্যক্তিগত পূর্বরূপ) নেভিগেট করুন।