مكوّن Google Cloud الإضافي

يصدِّر المكوّن الإضافي 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 التتبع وتسجيل الدخول والمراقبة، أضِف المكوّن الإضافي googleCloud إلى إعدادات Genkit:

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 وغيرها)، سيتم ضبط رقم تعريف المشروع وبيانات الاعتماد تلقائيًا. يتطلب التشغيل في بيئات أخرى ضبط متغيّر البيئة GCLOUD_PROJECT على مشروعك على Google Cloud وإجراء المصادقة باستخدام أداة 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 بتتبُّع عيّنات التتبُّع.

تتوفر أربعة عيّنات مسبقة الإعداد:

  • دائمًاOnSampler - لأخذ عينات من جميع عمليات التتبّع
  • AlwaysOffSampler - لا تتوفر أي عمليات تتبّع للعينات
  • Parentbased - عيّنات مستندة إلى النطاق الرئيسي
  • TraceIdRatioPeriod - نموذج يعرض نسبة مئوية قابلة للضبط من عمليات التتبّع

أدوات تلقائية وأداة تلقائية

من خلال تفعيل أداة القياس التلقائي، يصبح بإمكان OpenTelemetry تسجيل بيانات القياس عن بُعد من مكتبات الجهات الخارجية بدون الحاجة إلى تعديل الرمز.

المقاييس ExportInterval

يحدّد هذا الحقل الفاصل الزمني لتصدير المقاييس بالملي ثانية.

مراقبة عمليات الإنتاج عبر مجموعة عمليات Google Cloud

بعد نشر التدفق، انتقِل إلى مجموعة عمليات Google Cloud واختَر مشروعك.

السجلّات وعمليات الآثار

من القائمة الجانبية، ابحث عن "التسجيل" وانقر على "مستكشف السجلات".

ستظهر لك جميع السجلّات المرتبطة بمسار عملية النشر، بما في ذلك console.log(). إنّ أي سجلّ يتضمّن البادئة [genkit] هو سجلّ Genkit-داخلي يحتوي على معلومات قد تكون مهمة لأغراض تصحيح الأخطاء. على سبيل المثال، تحتوي سجلات Genkit بالتنسيق Config[...] على بيانات وصفية، مثل درجة الحرارة وقيم أعلى كيلبونات لاستنتاجات معيّنة من النماذج اللغوية الكبيرة. تحتوي السجلّات ذات التنسيق Output[...] على ردود "النموذج اللغوي الكبير" (LLM) بينما تحتوي سجلّات Input[...] على الطلبات. يشتمل التسجيل في السحابة الإلكترونية على قوائم قوية للتحكم في الوصول تتيح التحكم الدقيق في السجلات الحساسة.

بالنسبة إلى أسطر معيّنة في السجلّ، من الممكن الانتقال إلى بيانات آثار الأنشطة المرتبطة بها من خلال النقر على رمز القائمة الموسّعة واختيار "عرض في تفاصيل التتبُّع".

سيؤدي ذلك إلى عرض جزء معاينة التتبُّع الذي يوفِّر نظرة سريعة على تفاصيل عملية التتبُّع. للاطّلاع على التفاصيل الكاملة، انقر على الرابط "العرض ضمن التتبّع" في أعلى يسار اللوحة.

وأبرز عنصر تنقُّل في Cloud Trace هو مخطط التبعثر. ويحتوي على كل آثار الأنشطة التي تم جمعها خلال فترة زمنية معيّنة.

يؤدي النقر فوق كل نقطة بيانات إلى إظهار تفاصيلها أسفل المخطط المبعثر.

يحتوي العرض التفصيلي على شكل التدفق، بما في ذلك جميع الخطوات ومعلومات التوقيت المهمة. بإمكان Cloud Trace تضمين جميع السجلّات المرتبطة بتتبُّع معيَّن ضمن طريقة العرض هذه. حدِّد الخيار "عرض البيانات الموسّعة" في القائمة المنسدلة "السجلات والأحداث".

وتتيح طريقة العرض الناتجة فحص السجلّات بشكل تفصيلي في سياق عملية التتبُّع، بما في ذلك الطلبات وردود النماذج اللغوية الكبيرة.

المقاييس

يمكنك الاطّلاع على جميع المقاييس التي تصدِّرها Genkit من خلال اختيار "تسجيل" من القائمة الجانبية والنقر على "إدارة المقاييس".

تحتوي وحدة تحكّم إدارة المقاييس على عرض جدولي لجميع المقاييس التي تم جمعها، بما في ذلك المقاييس التي تتعلق بتشغيل السحابة الإلكترونية والبيئة المحيطة بها. سيؤدي النقر على خيار "تحميل العمل" إلى ظهور قائمة تتضمّن المقاييس التي تم جمعها من خلال Genkit. ويشكّل أيّ مقياس يتضمّن البادئة genkit مقياسًا داخليًا من أدوات Genkit.

تجمع Genkit عدة فئات من المقاييس، بما في ذلك مقاييس على مستوى التدفق، وعلى مستوى الإجراء، وعلى مستوى الإنشاء. ولكل مقياس عدة سمات مفيدة تُسهل عملية الفلترة والتجميع الفعالة.

تشمل السمات الشائعة ما يلي:

  • flow_name - اسم المستوى الأعلى للمسار.
  • flow_path - سلسلة الامتداد وسلسلة امتداده الرئيسية حتى امتداد الجذر.
  • error_code: في حال حدوث خطأ، يتم استخدام رمز الخطأ المعني.
  • error_message: في حال حدوث خطأ، يتم عرض رسالة الخطأ المقابلة.
  • model - اسم النموذج.
  • temperature - قيمة درجة حرارة الاستنتاج.
  • topK - قيمة الاستنتاج الأعلى قيمة.
  • topP - قيمة الاستنتاج الأعلى.

المقاييس على مستوى التدفق

الاسم السمات
genkit/flow/requests Flow_name، error_code، error_message
genkit/flow/وقت الاستجابة اسم_التدفق

المقاييس على مستوى الإجراء

الاسم السمات
مجموعة أدوات/إجراءات/طلبات genkit Flow_name، error_code، error_message
genkit/action/وقت الاستجابة اسم_التدفق

إنشاء مقاييس على مستوى

الاسم السمات
genkit/ai/generate تدفق_مسار، نموذج، درجة حرارة، أعلى ك، أعلى جودة، رمز خطأ، خطأ_رسالة
genkit/ai/generate/input_tokens مسار_تدفق، نموذج، درجة حرارة، أعلى ك، أعلى الصفحة
genkit/ai/generate/output_tokens مسار_تدفق، نموذج، درجة حرارة، أعلى ك، أعلى الصفحة
genkit/ai/generate/input_characters مسار_تدفق، نموذج، درجة حرارة، أعلى ك، أعلى الصفحة
genkit/ai/generate/output_characters مسار_تدفق، نموذج، درجة حرارة، أعلى ك، أعلى الصفحة
genkit/ai/generate/input_images مسار_تدفق، نموذج، درجة حرارة، أعلى ك، أعلى الصفحة
genkit/ai/generate/output_images مسار_تدفق، نموذج، درجة حرارة، أعلى ك، أعلى الصفحة
genkit/ai/generate/وقت الاستجابة تدفق_مسار، نموذج، درجة حرارة، أعلى ك، أعلى جودة، رمز خطأ، خطأ_رسالة

يمكن إجراء عرض مرئي للمقاييس من خلال "مستكشف المقاييس". باستخدام القائمة الجانبية، اختَر "تسجيل" وانقر على "مستكشف المقاييس"

اختَر مقاييس بالنقر على القائمة المنسدلة "اختيار مقياس"، واختَر "عقدة عامة" و"Genkit" ومقياس.

يعتمد التمثيل البصري للمقياس على نوعه (العدّاد، المدرّج التكراري، إلخ). توفّر "أداة استكشاف المقاييس" مرافق فعّالة للتجميع والاستعلام للمساعدة في إنشاء رسم بياني للمقاييس حسب أبعادها المختلفة.

تأخير القياس عن بُعد

قد يحدث تأخير بسيط قبل عرض بيانات القياس عن بُعد لتنفيذ عملية معيّنة لتدفق في حزمة عمليات Google Cloud. وفي معظم الحالات، يكون هذا التأخير أقل من دقيقة واحدة.

الحصص والحدود

هناك العديد من الحصص التي يجب وضعها في الاعتبار:

التكلفة

تتوفّر فئات مجانية واسعة من ميزات "تسجيل الدخول إلى السحابة الإلكترونية" و"تتبّع السحابة الإلكترونية" و"مراقبة السحابة الإلكترونية". يمكنك الاطّلاع على الأسعار المحدّدة على الروابط التالية: