যেকোনো Node.js প্ল্যাটফর্মে প্রবাহ স্থাপন করুন, যেকোনো Node.js প্ল্যাটফর্মে প্রবাহ স্থাপন করুন, যেকোনো Node.js প্ল্যাটফর্মে প্রবাহ স্থাপন করুন

Firebase Genkit-এর অন্তর্নির্মিত ইন্টিগ্রেশন রয়েছে যা আপনাকে Firebase এবং Google ক্লাউড রানের জন্য ক্লাউড ফাংশনে আপনার ফ্লো স্থাপন করতে সাহায্য করে, তবে আপনি আপনার ফ্লোগুলিকে যে কোনো প্ল্যাটফর্মে স্থাপন করতে পারেন যা একটি Express.js অ্যাপ পরিবেশন করতে পারে, তা একটি ক্লাউড পরিষেবা হোক বা স্ব- হোস্ট করা

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

আপনি শুরু করার আগে

  • Node.js 20+: নিশ্চিত করুন যে আপনার পরিবেশ Node.js সংস্করণ 20 বা উচ্চতর (node ​​--version) ব্যবহার করছে।
  • আপনার জেনকিটের প্রবাহের ধারণার সাথে পরিচিত হওয়া উচিত।

1. আপনার প্রকল্প সেট আপ করুন

  1. প্রকল্পের জন্য একটি ডিরেক্টরি তৈরি করুন:

    export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
    mkdir -p $GENKIT_PROJECT_HOME
    cd $GENKIT_PROJECT_HOME
  2. একটি Node.js প্রকল্প শুরু করুন:

    npm init -y
  3. Genkit এবং প্রয়োজনীয় নির্ভরতা ইনস্টল করুন:

    npm install --save genkit @genkit-ai/googleai
    npm install -D genkit-cli typescript tsx

2. আপনার Genkit অ্যাপ কনফিগার করুন

  1. একটি নমুনা প্রবাহ এবং সার্ভার সেট আপ করুন:

    src/index.ts এ, একটি নমুনা প্রবাহ নির্ধারণ করুন এবং ফ্লো সার্ভার কনফিগার করুন:

    import { genkit } from 'genkit';
    import { googleAI, gemini15Flash } from '@genkit-ai/googleai';
    
    const ai = genkit({
      plugins: [googleAI()],
      model: gemini15Flash,
    });
    
    const helloFlow = ai.defineFlow(
      {
        name: 'helloFlow',
        inputSchema: z.object({ name: z.string() }),
        outputSchema: z.string(),
      },
      async (input) => {
        const { text } = ai.generate('Say hello to ${input.name}');
        return text;
      }
    );
    
    ai.startFlowServer({
      flows: [menuSuggestionFlow],
    });
    

    startFlowServer জন্য কিছু ঐচ্ছিক পরামিতি রয়েছে যা আপনি নির্দিষ্ট করতে পারেন:

    • port : শোনার জন্য নেটওয়ার্ক পোর্ট। অনির্দিষ্ট থাকলে, সার্ভারটি PORT এনভায়রনমেন্ট ভেরিয়েবলে সংজ্ঞায়িত পোর্টে শোনে, এবং যদি PORT সেট না থাকে, ডিফল্ট 3400 এ।
    • cors : ফ্লো সার্ভারের CORS নীতি । আপনি যদি একটি ওয়েব অ্যাপ্লিকেশন থেকে এই শেষ পয়েন্টগুলি অ্যাক্সেস করেন তবে আপনাকে সম্ভবত এটি নির্দিষ্ট করতে হবে।
    • pathPrefix : একটি ঐচ্ছিক পাথ উপসর্গ যা আপনার ফ্লো এন্ডপয়েন্টের আগে যোগ করতে হবে।
    • jsonParserOptions : এক্সপ্রেসের JSON বডি পার্সারে পাস করার বিকল্প
  2. মডেল প্রদানকারীর শংসাপত্র সেট আপ করুন:

    আপনার মডেল প্রদানকারীর জন্য প্রয়োজনীয় পরিবেশ ভেরিয়েবল কনফিগার করুন। এই গাইডে, আমরা উদাহরণ হিসেবে Google AI স্টুডিও থেকে Gemini API ব্যবহার করব।

    Google AI স্টুডিও থেকে একটি API কী পান

    আপনি একটি API কী তৈরি করার পরে, নিম্নলিখিত কমান্ডের সাহায্যে আপনার কী-তে GOOGLE_GENAI_API_KEY এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:

    export GOOGLE_GENAI_API_KEY=<your API key>

    স্থাপনার জন্য বিভিন্ন প্রদানকারীর তাদের পরিবেশে আপনার API কী সুরক্ষিত করার বিভিন্ন উপায় থাকবে। নিরাপত্তার জন্য, নিশ্চিত করুন যে আপনার API কী সর্বজনীনভাবে উন্মুক্ত না হয়েছে।

3. স্থাপনার জন্য আপনার Node.js প্রকল্প প্রস্তুত করুন

package.json এ স্টার্ট এবং বিল্ড স্ক্রিপ্ট যোগ করুন

একটি Node.js প্রজেক্ট স্থাপন করতে, package.json এ স্ক্রিপ্ট start এবং build । একটি টাইপস্ক্রিপ্ট প্রকল্পের জন্য, এই স্ক্রিপ্টগুলি এইরকম দেখাবে:

"scripts": {
  "start": "node --watch lib/index.js",
  "build": "tsc"
},

স্থানীয়ভাবে তৈরি করুন এবং পরীক্ষা করুন

বিল্ড কমান্ড চালান, তারপর সার্ভার শুরু করুন এবং এটি প্রত্যাশিত হিসাবে কাজ করে তা নিশ্চিত করতে স্থানীয়ভাবে পরীক্ষা করুন।

npm run build
npm start

অন্য টার্মিনাল উইন্ডোতে, শেষ বিন্দু পরীক্ষা করুন:

curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow" \
  -H "Content-Type: application/json" \
  -d '{"data": "banana"}'

ঐচ্ছিক: বিকাশকারী UI শুরু করুন

আপনি বিকাশের সময় ইন্টারেক্টিভভাবে প্রবাহ পরীক্ষা করতে বিকাশকারী UI ব্যবহার করতে পারেন:

npx genkit start -- npm run start

UI-তে আপনার প্রবাহ পরীক্ষা করতে http://localhost:4000/flows- এ নেভিগেট করুন।

4. প্রকল্প স্থাপন

একবার আপনার প্রকল্পটি স্থানীয়ভাবে কনফিগার এবং পরীক্ষা করা হয়ে গেলে, আপনি যেকোনো Node.js-সামঞ্জস্যপূর্ণ প্ল্যাটফর্মে স্থাপন করতে প্রস্তুত। সরবরাহকারীর দ্বারা স্থাপনের পদক্ষেপগুলি পরিবর্তিত হয়, তবে সাধারণত, আপনি নিম্নলিখিত সেটিংস কনফিগার করবেন:

সেটিং মান
রানটাইম Node.js 20 বা নতুন
কমান্ড তৈরি করুন npm run build
কমান্ড শুরু করুন npm start
পরিবেশ পরিবর্তনশীল GOOGLE_GENAI_API_KEY=<your-api-key> এবং অন্যান্য প্রয়োজনীয় গোপনীয়তা সেট করুন

start কমান্ড ( npm start ) আপনার কম্পাইল করা এন্ট্রি পয়েন্টের দিকে নির্দেশ করবে, সাধারণত lib/index.js । আপনার স্থাপনার প্ল্যাটফর্মের জন্য সমস্ত প্রয়োজনীয় পরিবেশ ভেরিয়েবল যোগ করতে ভুলবেন না।

স্থাপন করার পরে, আপনি HTTPS এন্ডপয়েন্ট হিসাবে আপনার প্রবাহকে আহ্বান করতে প্রদত্ত পরিষেবা URL ব্যবহার করতে পারেন।