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

Google ক্লাউড প্লাগইন Firebase Genkit এর টেলিমেট্রি এবং লগিং ডেটা Google ক্লাউডের অপারেশন স্যুটে রপ্তানি করে।

ইনস্টলেশন

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

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

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

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

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

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

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

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

Google ক্লাউড ট্রেসিং, লগিং এবং মনিটরিং-এ রপ্তানি সক্ষম করতে, আপনার Genkit কনফিগারেশনে googleCloud প্লাগইন যোগ করুন:

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

export default configureGenkit({
  plugins: [googleCloud()],
  enableTracingAndMetrics: true,
  telemetry: {
    instrumentation: 'googleCloud',
    logger: 'googleCloud',
  },
});

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

প্রমাণীকরণ

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

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

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

gcloud auth application-default login

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

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

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

আপনি একবার কী ফাইলটি ডাউনলোড করে নিলে, আপনি 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"
}'

প্লাগইন কনফিগারেশন

googleCloud() প্লাগইন একটি ঐচ্ছিক কনফিগারেশন অবজেক্ট নেয়:

{
    projectId?: string,
    telemetryConfig?: TelemetryConfig
}

প্রজেক্ট আইডি

এই বিকল্পটি Google ক্লাউড প্রকল্প আইডি স্পষ্টভাবে উল্লেখ করার অনুমতি দেয়। বেশিরভাগ ক্ষেত্রে, এটি অপ্রয়োজনীয়।

টেলিমেট্রি কনফিগারেশন

এই বিকল্পটি OpenTelemetry NodeSDK উদাহরণ কনফিগার করে।

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

googleCloud({
  telemetryConfig: {
    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,
  },
});

forceDevExport

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

নমুনা

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

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

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

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

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

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

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

প্লাগইন কনফিগার করার সময়, স্থানীয় রানের জন্য টেলিমেট্রি এক্সপোর্ট সক্ষম করতে forceDevExport: true ব্যবহার করুন। Google ক্লাউডে নিরীক্ষণের জন্য আপনার প্রথম ইভেন্টগুলি পাঠানোর এটি একটি দ্রুত উপায়৷

Google ক্লাউডের অপারেশন স্যুটের মাধ্যমে উৎপাদন পর্যবেক্ষণ

একবার একটি প্রবাহ স্থাপন করা হলে, Google ক্লাউডের অপারেশন স্যুটে নেভিগেট করুন এবং আপনার প্রকল্প নির্বাচন করুন৷

লগ এবং ট্রেস

পাশের মেনু থেকে, 'লগিং' খুঁজুন এবং 'লগস এক্সপ্লোরার'-এ ক্লিক করুন।

আপনি console.log() সহ আপনার স্থাপন করা প্রবাহের সাথে যুক্ত সমস্ত লগ দেখতে পাবেন। যে কোনো লগ যার উপসর্গ আছে [genkit] হল একটি জেনকিট-অভ্যন্তরীণ লগ যাতে তথ্য থাকে যা ডিবাগিং উদ্দেশ্যে আকর্ষণীয় হতে পারে। উদাহরণস্বরূপ, Config[...] বিন্যাসে জেনকিট লগগুলিতে মেটাডেটা থাকে যেমন তাপমাত্রা এবং নির্দিষ্ট LLM অনুমানের জন্য topK মান। বিন্যাসে লগ Output[...] LLM প্রতিক্রিয়া ধারণ করে যখন Input[...] লগে প্রম্পট থাকে। ক্লাউড লগিং-এ শক্তিশালী ACL রয়েছে যা সংবেদনশীল লগগুলিতে সূক্ষ্ম দানাদার নিয়ন্ত্রণের অনুমতি দেয়।

নির্দিষ্ট লগ লাইনের জন্য, বর্ধিত মেনুতে ক্লিক করে তাদের নিজ নিজ ট্রেসে নেভিগেট করা সম্ভব আইকন এবং "ট্রেস বিবরণ দেখুন" নির্বাচন করুন।

এটি একটি ট্রেস প্রাকদর্শন ফলক নিয়ে আসবে যা ট্রেসের বিশদ বিবরণের একটি দ্রুত নজর প্রদান করবে। সম্পূর্ণ বিবরণ পেতে, ফলকের উপরের ডানদিকে "ট্রেসে দেখুন" লিঙ্কটিতে ক্লিক করুন৷

ক্লাউড ট্রেসের সবচেয়ে বিশিষ্ট নেভিগেশন উপাদান হল ট্রেস স্ক্যাটার প্লট। এটি একটি নির্দিষ্ট সময়ের মধ্যে সমস্ত সংগৃহীত ট্রেস ধারণ করে।

প্রতিটি ডেটা পয়েন্টে ক্লিক করলে স্ক্যাটার প্লটের নীচে তার বিবরণ দেখাবে।

বিস্তারিত ভিউতে প্রবাহের আকৃতি রয়েছে, সমস্ত ধাপ সহ, এবং গুরুত্বপূর্ণ সময়ের তথ্য। ক্লাউড ট্রেস এই দৃশ্যের মধ্যে একটি প্রদত্ত ট্রেসের সাথে যুক্ত সমস্ত লগ ইন্টারলিভ করার ক্ষমতা রাখে৷ "লগ এবং ইভেন্ট" ড্রপ ডাউনে "প্রসারিত দেখান" বিকল্পটি নির্বাচন করুন৷

ফলাফলের ভিউ প্রম্পট এবং এলএলএম প্রতিক্রিয়া সহ ট্রেসের প্রসঙ্গে লগগুলির বিশদ পরীক্ষা করার অনুমতি দেয়।

মেট্রিক্স

পাশের মেনু থেকে "লগিং" নির্বাচন করে এবং "মেট্রিক্স ব্যবস্থাপনা" এ ক্লিক করে জেনকিট রপ্তানি করে এমন সমস্ত মেট্রিক্স দেখা।

মেট্রিক্স ম্যানেজমেন্ট কনসোলে ক্লাউড রান এবং এর আশেপাশের পরিবেশের সাথে সম্পর্কিত সমস্ত সংগৃহীত মেট্রিকগুলির একটি ট্যাবুলার ভিউ রয়েছে। 'ওয়ার্কলোড' বিকল্পে ক্লিক করা একটি তালিকা প্রকাশ করবে যাতে জেনকিট-সংগৃহীত মেট্রিক্স রয়েছে। genkit উপসর্গ সহ যেকোনো মেট্রিক একটি অভ্যন্তরীণ জেনকিট মেট্রিক গঠন করে।

Genkit মেট্রিক্সের বিভিন্ন বিভাগ সংগ্রহ করে, যার মধ্যে রয়েছে ফ্লো-লেভেল, অ্যাকশন-লেভেল এবং জেনারেট-লেভেল মেট্রিক্স। প্রতিটি মেট্রিকের বেশ কয়েকটি দরকারী মাত্রা রয়েছে যা শক্তিশালী ফিল্টারিং এবং গ্রুপিংকে সহজতর করে।

সাধারণ মাত্রা অন্তর্ভুক্ত:

  • flow_name - প্রবাহের শীর্ষ-স্তরের নাম।
  • flow_path - স্প্যান এবং এর মূল স্প্যান চেইন রুট স্প্যান পর্যন্ত।
  • error_code - একটি ত্রুটির ক্ষেত্রে, সংশ্লিষ্ট ত্রুটি কোড।
  • error_message - একটি ত্রুটির ক্ষেত্রে, সংশ্লিষ্ট ত্রুটি বার্তা।
  • model - মডেলের নাম।
  • temperature - অনুমান তাপমাত্রা মান
  • topK - অনুমান topK মান
  • topP - অনুমান topP মান

ফ্লো-লেভেল মেট্রিক্স

নাম মাত্রা
genkit/flow/requests প্রবাহ_নাম, ত্রুটি_কোড, ত্রুটি_বার্তা
genkit/flow/lateency প্রবাহ_নাম

কর্ম-স্তরের মেট্রিক্স

নাম মাত্রা
জেনকিট/অ্যাকশন/অনুরোধ প্রবাহ_নাম, ত্রুটি_কোড, ত্রুটি_বার্তা
জেনকিট/অ্যাকশন/লেটেন্সি প্রবাহ_নাম

জেনারেট-লেভেল মেট্রিক্স

নাম মাত্রা
জেনকিট/এআই/জেনারেট flow_path, মডেল, তাপমাত্রা, topK, topP, error_code, error_message
genkit/ai/generate/input_tokens flow_path, মডেল, তাপমাত্রা, topK, topP
genkit/ai/generate/output_tokens flow_path, মডেল, তাপমাত্রা, topK, topP
জেনকিট/এআই/জেনারেট/ইনপুট_অক্ষর flow_path, মডেল, তাপমাত্রা, topK, topP
genkit/ai/generate/output_ characters flow_path, মডেল, তাপমাত্রা, topK, topP
genkit/ai/generate/input_images flow_path, মডেল, তাপমাত্রা, topK, topP
genkit/ai/generate/output_images flow_path, মডেল, তাপমাত্রা, topK, topP
জেনকিট/এআই/জেনারেট/লেটেন্সি flow_path, মডেল, তাপমাত্রা, topK, topP, error_code, error_message

মেট্রিক্স এক্সপ্লোরারের মাধ্যমে ভিজ্যুয়ালাইজিং মেট্রিক্স করা যেতে পারে। পাশের মেনু ব্যবহার করে, 'লগিং' নির্বাচন করুন এবং 'মেট্রিক্স এক্সপ্লোরার' এ ক্লিক করুন

"একটি মেট্রিক নির্বাচন করুন" ড্রপডাউনে ক্লিক করে, 'জেনেরিক নোড', 'জেনকিট' এবং একটি মেট্রিক নির্বাচন করে একটি মেট্রিক নির্বাচন করুন।

মেট্রিকের ভিজ্যুয়ালাইজেশন নির্ভর করবে এর ধরনের (কাউন্টার, হিস্টোগ্রাম, ইত্যাদি) উপর। মেট্রিক্স এক্সপ্লোরার গ্রাফ মেট্রিক্সকে তাদের বিভিন্ন মাত্রায় সাহায্য করার জন্য শক্তিশালী একত্রীকরণ এবং অনুসন্ধানের সুবিধা প্রদান করে।

টেলিমেট্রি বিলম্ব

ক্লাউডের অপারেশন স্যুটে একটি প্রবাহের একটি নির্দিষ্ট সম্পাদনের জন্য টেলিমেট্রির আগে সামান্য বিলম্ব হতে পারে। বেশিরভাগ ক্ষেত্রে, এই বিলম্বটি 1 মিনিটের কম।

কোটা এবং সীমা

বেশ কয়েকটি কোটা রয়েছে যা মনে রাখা গুরুত্বপূর্ণ:

খরচ

ক্লাউড লগিং, ক্লাউড ট্রেস এবং ক্লাউড মনিটরিংয়ের উদার বিনামূল্যের স্তর রয়েছে। নির্দিষ্ট মূল্য নিম্নলিখিত লিঙ্কে পাওয়া যাবে: