Google Cloud प्लगिन, Firebase Genkit की टेलीमेट्री और लॉगिंग डेटा को Google Cloud के ऑपरेशन सुइट में एक्सपोर्ट करता है.
इंस्टॉल करना
npm i --save @genkit-ai/google-cloud
अगर आपको इस प्लग इन का इस्तेमाल करने वाले फ़्लो को लोकल तौर पर चलाना है, तो आपको Google Cloud CLI टूल इंस्टॉल करना होगा.
Google Cloud खाता सेट अप करना
इस प्लग इन के लिए एक Google Cloud खाता और एक Google Cloud प्रोजेक्ट ज़रूरी है. अगर आपके पास पहले से कोई प्लग इन नहीं है, तो साइन अप करें.
प्लग इन जोड़ने से पहले, पक्का करें कि आपके प्रोजेक्ट के लिए नीचे दिए गए एपीआई चालू हों:
ये एपीआई आपके प्रोजेक्ट के एपीआई डैशबोर्ड में मौजूद होने चाहिए.
एपीआई को चालू और बंद करने के बारे में ज़्यादा जानने के लिए, यहां क्लिक करें.
Genkit कॉन्फ़िगरेशन
Google Cloud ट्रेसिंग, लॉग इन, और मॉनिटरिंग की सुविधा में डेटा एक्सपोर्ट करने की सुविधा चालू करने के लिए, अपने Genkit कॉन्फ़िगरेशन में googleCloud
प्लगिन जोड़ें:
import { googleCloud } from '@genkit-ai/google-cloud';
export default configureGenkit({
plugins: [googleCloud()],
enableTracingAndMetrics: true,
telemetry: {
instrumentation: 'googleCloud',
logger: 'googleCloud',
},
});
प्रोडक्शन में चलने के दौरान, आपकी टेलीमेट्री अपने-आप एक्सपोर्ट हो जाती है.
प्लगिन के लिए, Google Cloud प्रोजेक्ट आईडी और Google Cloud प्रोजेक्ट के क्रेडेंशियल होने चाहिए. अगर Google Cloud एनवायरमेंट (Cloud Functions, Cloud Run वगैरह) से फ़्लो चलाया जा रहा है, तो प्रोजेक्ट आईडी और क्रेडेंशियल अपने-आप सेट हो जाते हैं. अन्य एनवायरमेंट में चलाने के लिए, अपने Google Cloud प्रोजेक्ट में GCLOUD_PROJECT
एनवायरमेंट वैरिएबल सेट करना ज़रूरी है. साथ ही, gcloud
टूल का इस्तेमाल करके पुष्टि करना:
gcloud auth application-default login
ज़्यादा जानकारी के लिए, ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल दस्तावेज़ देखें.
प्लग इन कॉन्फ़िगरेशन
googleCloud()
प्लगिन एक वैकल्पिक कॉन्फ़िगरेशन ऑब्जेक्ट लेता है:
{
projectId?: string,
telemetryConfig?: TelemetryConfig
}
प्रोजेक्ट-आईडी
इस विकल्प की मदद से, Google Cloud प्रोजेक्ट आईडी साफ़ तौर पर बताया जा सकता है. ज़्यादातर मामलों में, ऐसा करना ज़रूरी नहीं होता है.
टेलीमेट्रीकॉन्फ़िगरेशन
यह विकल्प 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,
},
});
फ़ोर्सदेव एक्सपोर्ट
इस विकल्प से Genkit को dev
एनवायरमेंट (जैसे कि स्थानीय तौर पर) में चलाते समय, टेलीमेट्री और लॉग डेटा एक्सपोर्ट करने के लिए कहा जाएगा.
सैंपलर
ऐसे मामलों में जहां सभी ट्रेस एक्सपोर्ट नहीं किए जा सकते, OpenTelemetry, ट्रेस सैंपलिंग की अनुमति देता है.
पहले से कॉन्फ़िगर किए गए चार सैंपलर उपलब्ध हैं:
- AlwaysOnSampler - सभी ट्रेस के नमूने
- AlwaysOffSampler - बिना कोई ट्रेस के नमूने
- ParentParent - पैरंट स्पैन के आधार पर सैंपल
- TraceIdRatio सेगमेंट - ट्रेस के कॉन्फ़िगर किए जा सकने वाले प्रतिशत के सैंपल
ऑटो इंस्ट्रुमेंटेशन और ऑटो इंस्ट्रुमेंटेशन कॉन्फ़िग
ऑटोमैटिक इंस्ट्रुमेंटेशन को चालू करने से OpenTelemetry को कोड में बदलाव किए बिना ही, तीसरे पक्ष की लाइब्रेरी से टेलीमेट्री डेटा को कैप्चर करने की अनुमति मिल जाती है.
मेट्रिक एक्सपोर्ट इंटरवल
यह फ़ील्ड, मेट्रिक एक्सपोर्ट इंटरवल को मिलीसेकंड में तय करता है.
इंटिग्रेशन की जांच करना
प्लगिन को कॉन्फ़िगर करते समय, forceDevExport: true
का इस्तेमाल करें. इससे लोकल रन के लिए, टेलीमेट्री एक्सपोर्ट की सुविधा चालू की जा सकती है. इससे Google Cloud में, अपने पहले इवेंट को मॉनिटर करने के लिए तुरंत भेजा जा सकता है.
Google Cloud के ऑपरेशंस सुइट की मदद से प्रोडक्शन की निगरानी करने की सुविधा
फ़्लो लागू करने के बाद, Google Cloud के ऑपरेशंस सुइट पर जाएं और अपना प्रोजेक्ट चुनें.
लॉग और ट्रेस
साइड मेन्यू में, 'लॉगिंग' ढूंढें और 'लॉग एक्सप्लोरर' पर क्लिक करें.
आपको console.log()
के साथ-साथ, डिप्लॉय किए गए फ़्लो से जुड़े सभी लॉग दिखेंगे. ऐसा कोई भी लॉग जिसमें प्रीफ़िक्स [genkit]
होता है, Genkit-internal लॉग होता है. इसमें ऐसी जानकारी होती है जो डीबग करने के लिए दिलचस्प हो सकती है. उदाहरण के लिए, Config[...]
फ़ॉर्मैट में Genkit के लॉग में, एलएलएम के खास अनुमानों के लिए तापमान और सबसे ऊपरी वैल्यू जैसे मेटाडेटा शामिल होते हैं. Output[...]
फ़ॉर्मैट वाले लॉग में एलएलएम के जवाब होते हैं. वहीं, Input[...]
के लॉग में प्रॉम्प्ट मौजूद होते हैं. क्लाउड लॉगिंग में मज़बूत ACL है, जो संवेदनशील लॉग पर बेहतर नियंत्रण की अनुमति देता है.
खास लॉग लाइनों के लिए, एक्सटेंडेड मेन्यू आइकॉन पर क्लिक करके और "ट्रेस की जानकारी में देखें" को चुनकर, उनसे जुड़े ट्रेस पर जाया जा सकता है.
इससे ट्रेस की झलक दिखाने वाला पैनल दिखेगा. इसमें ट्रेस की जानकारी की एक झलक दिखेगी. पूरी जानकारी पाने के लिए, पैनल के सबसे ऊपर दाईं ओर मौजूद "ट्रेस में देखें" लिंक पर क्लिक करें.
Cloud Trace में मौजूद सबसे मुख्य नेविगेशन एलिमेंट, ट्रेस स्कैटर प्लॉट होता है. इसमें एक दी गई समयावधि में इकट्ठा किए गए सभी ट्रेस शामिल होते हैं.
हर डेटा पॉइंट पर क्लिक करने से, स्कैटर प्लॉट के नीचे उसकी जानकारी दिखेगी.
ज़्यादा जानकारी वाले व्यू में फ़्लो आकार शामिल होता है. इसमें सभी चरण और समय से जुड़ी ज़रूरी जानकारी शामिल होती है. Cloud Trace में इस व्यू में दिए गए ट्रेस से जुड़े सभी लॉग इंटरलीव करने की सुविधा होती है. "लॉग और इवेंट" ड्रॉप-डाउन में "बड़ा किया गया दिखाएं" विकल्प चुनें.
इस सुविधा की मदद से, ट्रेस के कॉन्टेक्स्ट में लॉग की बारीकी से जांच की जा सकती है. इसमें प्रॉम्प्ट और एलएलएम के जवाब भी शामिल हैं.
मीट्रिक
जिन मेट्रिक को Genkit एक्सपोर्ट किया जा रहा है वे सभी मेट्रिक देखने के लिए, साइड मेन्यू से "लॉग करें" चुनें. इसके बाद, "मेट्रिक मैनेजमेंट" पर क्लिक करें.
मेट्रिक मैनेजमेंट कंसोल में, इकट्ठा की गई सभी मेट्रिक का एक टेबल व्यू होता है. इसमें Cloud Run और उसके आस-पास के एनवायरमेंट से जुड़ी मेट्रिक भी शामिल होती हैं. 'वर्कलोड' विकल्प पर क्लिक करने पर, एक सूची दिखेगी. इसमें Genkit से इकट्ठा की गई मेट्रिक शामिल होंगी. genkit
प्रीफ़िक्स वाली किसी भी मेट्रिक को इंटरनल Genkit मेट्रिक माना जाता है.
Genkit, फ़्लो-लेवल, ऐक्शन-लेवल, और जनरेट-लेवल मेट्रिक के साथ-साथ कई कैटगरी की मेट्रिक इकट्ठा करता है. हर मेट्रिक में कई काम के डाइमेंशन होते हैं, जो बेहतर फ़िल्टर करने और ग्रुप बनाने में मदद करते हैं.
सामान्य डाइमेंशन में ये शामिल हैं:
flow_name
- फ़्लो का टॉप-लेवल नाम.flow_path
- स्पैन और इसके पैरंट स्पैन को, रूट स्पैन तक चेन किया जाता है.error_code
- कोई गड़बड़ी होने पर, उससे जुड़ा गड़बड़ी कोड.error_message
- कोई गड़बड़ी होने पर, उससे जुड़ा गड़बड़ी का मैसेज.model
- मॉडल का नाम.temperature
- अनुमान का तापमान value.topK
- अनुमान के लिए टॉप की वैल्यू.topP
- अनुमान का TopP value.
फ़्लो-लेवल मेट्रिक
नाम | आयाम |
---|---|
genkit/flow/अनुरोध | Flood_name, error_code, error_message |
जेनकिट/फ़्लो/लेटेंसी | फ़्लो_नाम |
ऐक्शन-लेवल की मेट्रिक
नाम | आयाम |
---|---|
जेनकिट/कार्रवाई/अनुरोध | Flood_name, error_code, error_message |
जेनकिट/ऐक्शन/लेटेंसी | फ़्लो_नाम |
जनरेट होने वाली मेट्रिक के लेवल पर
नाम | आयाम |
---|---|
जेनकिट/एआई/जनरेट | Flood_path, मॉडल, तापमान, TopK, TopP, error_code, error_message |
genkit/ai/generate/input_tokens | Flood_path, मॉडल, तापमान, TopK, TopP |
genkit/ai/generate/Output_tokens | Flood_path, मॉडल, तापमान, TopK, TopP |
genkit/ai/generate/input_characters | Flood_path, मॉडल, तापमान, TopK, TopP |
genkit/ai/generate/Output_characters | Flood_path, मॉडल, तापमान, TopK, TopP |
genkit/ai/generate/input_images | Flood_path, मॉडल, तापमान, TopK, TopP |
genkit/ai/generate/Output_images | Flood_path, मॉडल, तापमान, TopK, TopP |
genkit/ai/जनरेट/लेटेंसी | Flood_path, मॉडल, तापमान, TopK, TopP, error_code, error_message |
मेट्रिक को मेट्रिक एक्सप्लोरर की मदद से विज़ुअलाइज़ किया जा सकता है. साइड मेन्यू का इस्तेमाल करके, 'लॉग करना' चुनें और 'मेट्रिक एक्सप्लोरर' पर क्लिक करें
कोई मेट्रिक चुनने के लिए, "मेट्रिक चुनें" ड्रॉपडाउन पर क्लिक करें. इसके बाद, 'जेनेरिक नोड', 'Genkit', और कोई मेट्रिक चुनें.
मेट्रिक का विज़ुअलाइज़ेशन, इसके टाइप (काउंटर, हिस्टोग्राम वगैरह) पर निर्भर करता है. मेट्रिक एक्सप्लोरर, मेट्रिक को अलग-अलग डाइमेंशन के हिसाब से ग्राफ़ में एग्रीगेशन और क्वेरी करने की सुविधाएं देता है. इससे, मेट्रिक को उनके अलग-अलग डाइमेंशन के हिसाब से ग्राफ़ में दिखाने में मदद मिलती है.
टेलीमेट्री में देरी
Cloud के ऑपरेशंस सुइट में, किसी फ़्लो को सही तरीके से चलाने में टेलीमेट्री दिखने में कुछ समय लग सकता है. ज़्यादातर मामलों में, यह देरी एक मिनट से कम होती है.
कोटा और सीमाएं
यहां कुछ कोटा ऐसे हैं जिन्हें ध्यान में रखना ज़रूरी है:
- Cloud ट्रेस का कोटा
- हर एट्रिब्यूट कुंजी के लिए 128 बाइट
- हर एट्रिब्यूट वैल्यू के लिए 256 बाइट
- क्लाउड लॉगिंग कोटा
- हर लॉग एंट्री के लिए 256 केबी
- क्लाउड मॉनिटरिंग कोटा
लागत
क्लाउड लॉगिंग, क्लाउड ट्रेस, और क्लाउड मॉनिटरिंग के कई फ़्री टियर हैं. खास कीमत देखने के लिए, इन लिंक पर जाएं: