ক্লাউড রান সহ ফায়ারবেস জেনকিট

আপনি ক্লাউড রান ব্যবহার করে ফায়ারবেস জেনকিট প্রবাহকে ওয়েব পরিষেবা হিসাবে স্থাপন করতে পারেন। এই পৃষ্ঠাটি, একটি উদাহরণ হিসাবে, আপনাকে ডিফল্ট নমুনা প্রবাহ স্থাপনের প্রক্রিয়ার মধ্য দিয়ে নিয়ে যায়।

  1. প্রয়োজনীয় সরঞ্জাম ইনস্টল করুন:

    1. নিশ্চিত করুন যে আপনি Node.js সংস্করণ 20 বা উচ্চতর ব্যবহার করছেন (চেক করতে node --version চালান)।

    2. Google Cloud CLI ইনস্টল করুন।

  2. ক্লাউড কনসোল ব্যবহার করে একটি নতুন Google ক্লাউড প্রকল্প তৈরি করুন বা একটি বিদ্যমান একটি চয়ন করুন৷ প্রকল্পটি অবশ্যই একটি বিলিং অ্যাকাউন্টের সাথে সংযুক্ত থাকতে হবে।

    আপনি একটি প্রকল্প তৈরি বা চয়ন করার পরে, এটি ব্যবহার করার জন্য Google ক্লাউড CLI কনফিগার করুন:

    gcloud init
  3. Genkit নমুনা প্রকল্পের জন্য একটি ডিরেক্টরি তৈরি করুন:

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

    আপনি একটি IDE ব্যবহার করতে যাচ্ছেন, এই ডিরেক্টরিতে এটি খুলুন.

  4. আপনার প্রকল্প ডিরেক্টরিতে একটি Node.js প্রকল্প শুরু করুন:

    npm init -y
  5. আপনার Node.js প্রকল্পে জেনকিট শুরু করুন:

    genkit init

    আপনি ব্যবহার করতে চান মডেল প্রদানকারী নির্বাচন করুন. অবশিষ্ট প্রম্পটগুলির জন্য ডিফল্টগুলি গ্রহণ করুন৷ genkit টুল কিছু নমুনা সোর্স ফাইল তৈরি করবে যাতে আপনি আপনার নিজস্ব AI ফ্লো ডেভেলপ করতে শুরু করেন। এই টিউটোরিয়ালের বাকি অংশের জন্য, আপনি শুধু নমুনা প্রবাহ স্থাপন করবেন।

  6. আপনার নিয়োজিত ফাংশনে API শংসাপত্রগুলি উপলব্ধ করুন৷ আপনার বেছে নেওয়া মডেল প্রদানকারীর উপর নির্ভর করে নিম্নলিখিতগুলির মধ্যে একটি করুন:

    মিথুন (Google AI)

    1. আপনার অঞ্চলে Google AI উপলব্ধ রয়েছে তা নিশ্চিত করুন৷

    2. Google AI স্টুডিও ব্যবহার করে Gemini API-এর জন্য একটি API কী তৈরি করুন

    3. ক্লাউড রান পরিবেশে API কী উপলব্ধ করুন:

      1. ক্লাউড কনসোলে, সিক্রেট ম্যানেজার এপিআই সক্ষম করুন।
      2. সিক্রেট ম্যানেজার পৃষ্ঠায়, আপনার API কী সহ একটি নতুন গোপনীয়তা তৈরি করুন।
      3. আপনি সিক্রেটটি তৈরি করার পরে, একই পৃষ্ঠায়, সিক্রেট ম্যানেজার সিক্রেট অ্যাকসেসরের ভূমিকা সহ আপনার ডিফল্ট কম্পিউট পরিষেবা অ্যাকাউন্টের গোপনীয়তায় অ্যাক্সেস দিন। (আপনি আইএএম পৃষ্ঠায় ডিফল্ট কম্পিউট পরিষেবা অ্যাকাউন্টের নাম দেখতে পারেন।)

      পরবর্তী ধাপে, আপনি যখন আপনার পরিষেবা স্থাপন করবেন, তখন আপনাকে এই গোপনীয়তার নাম উল্লেখ করতে হবে।

    4. ঐচ্ছিক : আপনি যদি পরবর্তী ধাপের মতো স্থানীয়ভাবে আপনার প্রবাহ চালাতে চান, তাহলে আপনার কী-তে GOOGLE_GENAI_API_KEY এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:

      export GOOGLE_GENAI_API_KEY=<your API key>

    মিথুন (Vertex AI)

    1. ক্লাউড কনসোলে, আপনার প্রকল্পের জন্য Vertex AI API সক্ষম করুন

    2. IAM পৃষ্ঠায়, নিশ্চিত করুন যে ডিফল্ট কম্পিউট পরিষেবা অ্যাকাউন্টটিকে Vertex AI ব্যবহারকারীর ভূমিকা দেওয়া হয়েছে।

    3. ঐচ্ছিক : আপনি যদি আপনার প্রবাহ স্থানীয়ভাবে চালাতে চান, পরবর্তী ধাপে, কিছু অতিরিক্ত পরিবেশ ভেরিয়েবল সেট করুন এবং অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র সেট আপ করতে gcloud টুল ব্যবহার করুন:

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

    এই টিউটোরিয়ালের জন্য আপনাকে সেট আপ করার জন্য একমাত্র গোপনীয়তাটি হল মডেল প্রদানকারীর জন্য, তবে সাধারণভাবে, আপনার প্রবাহ ব্যবহার করা প্রতিটি পরিষেবার জন্য আপনাকে অবশ্যই একই রকম কিছু করতে হবে।

  7. ঐচ্ছিক : বিকাশকারী UI এ আপনার প্রবাহ চেষ্টা করুন:

    1. UI শুরু করুন:

      genkit start
    2. বিকাশকারী UI এ (http://localhost:4000/), ফ্লো চালান:

      1. মেনু SuggestionFlow এ ক্লিক করুন।

      2. ইনপুট JSON ট্যাবে, মডেলের জন্য একটি বিষয় প্রদান করুন:

        "banana"
        
      3. রান এ ক্লিক করুন।

  8. যদি সবকিছু এখন পর্যন্ত প্রত্যাশিত হিসাবে কাজ করে, আপনি প্রবাহটি তৈরি এবং স্থাপন করতে পারেন:

    মিথুন (Google AI)

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

    মিথুন (Vertex AI)

    npm run build
    gcloud run deploy

    আপনি অননুমোদিত আহ্বানের অনুমতি দিতে চান কিনা জিজ্ঞাসা করা হলে N বেছে নিন। N উত্তর দিলে আপনার পরিষেবা কনফিগার হবে যাতে IAM শংসাপত্রের প্রয়োজন হয়। এই শংসাপত্রগুলি প্রদানের তথ্যের জন্য ক্লাউড রান ডক্সে প্রমাণীকরণ দেখুন৷

স্থাপনা শেষ হওয়ার পরে, টুলটি পরিষেবা 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"}'