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
    
    • اختَر Google Cloud كمنصة للنشر.
    • اختَر موفِّر الطراز الذي تريد استخدامه.

    اقبل الإعدادات التلقائية للطلبات المتبقية. ستنشئ أداة genkit بعض نماذج الملفات المصدر لتبدأ في تطوير مسارات الذكاء الاصطناعي (AI) الخاصة بك. ومع ذلك، في بقية هذا البرنامج التعليمي، ستنشر فقط تدفق العينة.

  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"}'