نشر التدفقات على أي نظام أساسي في Node.js

يتضمّن Firebase Genkit عمليات تكامل مضمّنة تساعدك في نشر التدفقات في دوال Firebase Cloud وGoogle Cloud Run، ولكن يمكنك أيضًا نشر التدفقات الخاصة بك على أي نظام أساسي يمكنه عرض تطبيق Express.js، سواء كان خدمة سحابة أو استضافة ذاتية.

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

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

    • تأكد من استخدام إصدار العقدة 20 أو أعلى (شغّل node --version للتحقق).
  2. إنشاء دليل لنموذج مشروع Genkit:

    export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
    mkdir -p $GENKIT_PROJECT_HOME
    cd $GENKIT_PROJECT_HOME
    

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

  3. إعداد مشروعNodejs:

    npm init -y
    
  4. إعداد مشروع Genkit:

    genkit init
    
    1. اختَر "Node.js" ليكون خيار النظام الأساسي للنشر (تتوفّر أيضًا نماذج لكل من دوال Firebase Cloud وGoogle Cloud Run).

    2. حدد النموذج:

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

      إنّ أبسط طريقة للبدء هي باستخدام Google AI Gemini API. وتأكَّد من أنّه متاح في منطقتك.

      أنشِئ مفتاح واجهة برمجة تطبيقات لواجهة Gemini API باستخدام "استوديو Google AI Studio". بعد ذلك، اضبط متغيّر بيئة GOOGLE_API_KEY على مفتاحك:

      export GOOGLE_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      في حال عدم توفّر Google AI Gemini API في منطقتك، ننصحك باستخدام واجهة Vertex AI API التي توفّر أيضًا Gemini وطُرز أخرى. يجب أن يكون لديك مشروع على Google Cloud يتم تفعيل الفوترة فيه، وتفعيل AI Platform API، وضبط بعض متغيّرات البيئة الإضافية:

      gcloud services enable aiplatform.googleapis.com
      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      

      يمكنك الاطّلاع على https://cloud.google.com/vertex-ai/generative-ai/pricing لمعرفة أسعار Vertex AI.

    3. اختر إجابات افتراضية لبقية الأسئلة، والتي ستقوم بتهيئة مجلد مشروعك ببعض التعليمات البرمجية النموذجية.

  5. أنشئ رمزًا نموذجيًا وشغِّله:

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. اختياري: ابدأ تشغيل واجهة مستخدم المطوِّر:

    genkit start
    

    بعد ذلك، انتقل إلى http://localhost:4000/flows وشغّل المسار باستخدام واجهة المستخدم الخاصة بالمطور.

    عند الانتهاء، اضغط على Ctrl+C في وحدة التحكم لإنهاء واجهة المستخدم.

  7. تجربة نقطة نهاية Express:

    npm run start
    

    ثم في نافذة أخرى:

    curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow?stream=true" -H "Content-Type: application/json"  -d '{"data": "banana"}'
    
  8. وإذا كان كل شيء يعمل كما هو متوقع، يمكنك نشر المسار لدى الجهة الموفّرة التي تختارها. ستعتمد التفاصيل على مزود الخدمة، ولكن بشكل عام، يجب ضبط الإعدادات التالية:

    الإعدادات القيمة
    وقت التشغيل الإصدار 20 من Node.js أو إصدار أحدث
    إصدار الأمر npm run build
    بدء الأمر npm run start
    متغيرات البيئة GOOGLE_API_KEY=<your-api-key> (أو أي من الأسرار المطلوبة)