Firebase Genkit مع Cloud Run

يمكنك نشر مسارات Firebase Genkit كخدمات ويب باستخدام Cloud Run. هذه الصفحة، يرشدك كمثال خلال عملية نشر النموذج الافتراضي التدفق.

  1. تثبيت الأدوات المطلوبة:

    1. تأكّد من استخدام الإصدار 20 من Node.js أو إصدار أحدث (تشغيل node --version للتحقق).

    2. تثبيت واجهة سطر الأوامر في Google Cloud:

  2. يمكنك إنشاء مشروع جديد على Google Cloud باستخدام Cloud Console، أو اختَر وحدة حالية. يجب ربط المشروع بحساب فوترة.

    بعد إنشاء مشروع أو اختياره، يجب ضبط واجهة سطر الأوامر في Google Cloud لاستخدامه. فهو:

    gcloud init
  3. إنشاء دليل لمشروع Genkit النموذجي:

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project

    إذا كنت ستستخدم بيئة تطوير متكاملة (IDE)، افتحه في هذا الدليل.

  4. إعداد مشروع Node.js في دليل المشروع:

    npm init -y
  5. إعداد Genkit في مشروع Node.js:

    genkit init

    اختَر موفِّر الطراز الذي تريد استخدامه. اقبل الإعدادات الافتراضية المطالبات المتبقية. ستنشئ أداة genkit بعض نماذج ملفات المصدر لتبدأ بتطوير مسارات الذكاء الاصطناعي بالنسبة إلى بقية هذا البرنامج التعليمي، إلا أنك ستنشر تدفق العينة فقط.

  6. إتاحة بيانات اعتماد واجهة برمجة التطبيقات للدالة المنشورة نفِّذ أحد الإجراءات التالية بناءً على موفر النموذج الذي اخترته:

    Gemini (تكنولوجيات الذكاء الاصطناعي من Google)

    1. التأكّد من أنّ تكنولوجيات الذكاء الاصطناعي من Google متوفّرة في منطقتك

    2. إنشاء مفتاح واجهة برمجة تطبيقات Gemini API باستخدام Google AI Studio

    3. يمكنك إتاحة مفتاح واجهة برمجة التطبيقات في بيئة تشغيل السحابة الإلكترونية:

      1. في Cloud Console، فعِّل Secret Manager API:
      2. في صفحة مدير الأمان يمكنك إنشاء مفتاح سرّي جديد يحتوي على مفتاح واجهة برمجة التطبيقات الخاص بك.
      3. بعد إنشاء السر، في الصفحة نفسها، امنح المفتاح السرّي احتساب وصول حساب الخدمة إلى السرّ باستخدام دور الموصّل السري للمدير. (يمكنك البحث عن اسم لحساب خدمة Compute Engine التلقائي على صفحة "إدارة الهوية وإمكانية الوصول").

      في خطوة لاحقة، عندما تنشر الخدمة، عليك يشير إلى اسم هذا السر.

    4. اختياري: إذا كنت تريد تنفيذ التدفق محليًا، كما في الخطوة التالية اضبط متغير البيئة GOOGLE_GENAI_API_KEY على المفتاح:

      export GOOGLE_GENAI_API_KEY=<your API key>

    Gemini (Vertex AI)

    1. في Cloud Console تفعيل Vertex AI API لمشروعك.

    2. في إدارة الهوية وإمكانية الوصول تأكَّد من منح حساب خدمة Compute Engine التلقائي. دور مستخدم Vertex AI

    3. اختياري: إذا كنت تريد تنفيذ التدفق محليًا، كما في الخطوة التالية وحدد بعض متغيرات البيئة الإضافية واستخدم أداة gcloud لإعدادها بيانات الاعتماد التلقائية للتطبيق:

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login

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

  7. اختياري: يمكنك تجربة المسار في واجهة مستخدم المطوّر:

    1. بدء واجهة المستخدم:

      genkit start
    2. في واجهة مستخدم مطور البرامج (http://localhost:4000/)، شغّل التدفق:

      1. انقر على mesuggestionFlow.

      2. في علامة التبويب Input JSON، قدِّم موضوعًا للنموذج:

        "banana"
        
      3. انقر على تشغيل.

  8. إذا سارت كل الأمور على النحو المتوقع حتى الآن، يمكنك إنشاء التدفق:

    Gemini (تكنولوجيات الذكاء الاصطناعي من Google)

    npm run build
    gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest

    Gemini (Vertex AI)

    npm run build
    gcloud run deploy

    اختر N عندما يتم سؤالك عما إذا كنت تريد السماح بالاستدعاءات غير المعتمدة. سيؤدي الإجابة عن "N" إلى إعداد خدمتك لطلب بيانات اعتماد "إدارة الهوية وإمكانية الوصول". عرض المصادقة في مستندات Cloud Run للحصول على معلومات عن تقديم بيانات الاعتماد هذه.

بعد انتهاء النشر، ستطبع الأداة عنوان URL للخدمة. يمكنك اختبار مع curl:

curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'