একটি কৌণিক অ্যাপে জেনকিট ব্যবহার করুন

এই পৃষ্ঠাটি দেখায় কিভাবে আপনি কৌণিক অ্যাপে জেনকিট প্রবাহ ব্যবহার করতে পারেন।

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

আপনার জেনকিটের প্রবাহের ধারণা এবং সেগুলি কীভাবে লিখতে হয় তার সাথে পরিচিত হওয়া উচিত।

একটি কৌণিক প্রকল্প তৈরি করুন

এই নির্দেশিকাটি সার্ভার রাউটিং সহ SSR সহ একটি কৌণিক অ্যাপ ব্যবহার করবে।

আপনি Angular CLI এর সাথে সার্ভার-সাইড রাউটিং সহ একটি নতুন প্রকল্প তৈরি করতে পারেন:

ng new --ssr --server-routing

আপনি ng add কমান্ডের সাথে একটি বিদ্যমান প্রকল্পে সার্ভার-সাইড রাউটিং যোগ করতে পারেন:

ng add @angular/ssr --server-routing

Genkit নির্ভরতা ইনস্টল করুন

আপনার কৌণিক অ্যাপে জেনকিট নির্ভরতাগুলি ইনস্টল করুন, যেভাবে আপনি কোনও জেনকিট প্রকল্পের জন্য করবেন:

  1. মূল জেনকিট লাইব্রেরি ইনস্টল করুন:

    npm i --save genkit
  2. অন্তত একটি মডেল প্লাগইন ইনস্টল করুন.

    উদাহরণস্বরূপ, Google AI ব্যবহার করতে:

    npm i --save @genkit-ai/googleai

    অথবা Vertex AI ব্যবহার করতে:

    npm i --save @genkit-ai/vertexai
  3. জেনকিট এক্সপ্রেস লাইব্রেরি ইনস্টল করুন:

    npm i --save @genkit-ai/express
  4. Zod ইনস্টল করুন:

    npm i --save zod
  5. আপনি যদি বিশ্বব্যাপী জেনকিট সিএলআই ইনস্টল না করে থাকেন তবে আপনি এটি একটি বিকাশ নির্ভরতা হিসাবে ইনস্টল করতে পারেন। tsx টুলটিও সুপারিশ করা হয়, কারণ এটি আপনার কোড পরীক্ষা করা আরও সুবিধাজনক করে তোলে। যাইহোক, এই উভয় নির্ভরতা ঐচ্ছিক।

    npm i --save-dev genkit-cli tsx

জেনকিট প্রবাহের সংজ্ঞা দাও

আপনার জেনকিট প্রবাহ ধারণ করতে আপনার কৌণিক প্রকল্পে একটি নতুন ফাইল তৈরি করুন: উদাহরণস্বরূপ, src/genkit.ts । এই ফাইলে পরিবর্তন ছাড়াই আপনার ফ্লো থাকতে পারে।

যেমন:

import { gemini20Flash, googleAI } from "@genkit-ai/googleai";
import { genkit } from "genkit";
import { z } from "zod";

const ai = genkit({
  plugins: [googleAI()],
  model: gemini20Flash,
});

export const menuSuggestionFlow = ai.defineFlow(
  {
    name: "menuSuggestionFlow",
    inputSchema: z.string(),
    outputSchema: z.string(),
  },
  async (restaurantTheme) => {
    const { text } = await ai.generate(
      `Invent a menu item for a ${restaurantTheme} themed restaurant.`
    );
    return text;
  }
);

সার্ভার রুট যোগ করুন

src/server.ts এ নিম্নলিখিত আমদানি যোগ করুন:

import { expressHandler } from '@genkit-ai/express';
import { menuSuggestionFlow } from './genkit';

আপনার app ভেরিয়েবল আরম্ভ করার পরে নিম্নলিখিত লাইন যোগ করুন:

app.use(express.json());

তারপর, আপনার প্রবাহ পরিবেশন করার জন্য একটি রুট যোগ করুন:

app.post('/menu', expressHandler(menuSuggestionFlow));

আপনার প্রবাহ কল

এখন, আপনি আপনার ক্লায়েন্ট অ্যাপ্লিকেশন থেকে আপনার প্রবাহ চালাতে পারেন।

উদাহরণস্বরূপ, আপনি src/app/app.component.ts এর বিষয়বস্তুগুলিকে নিম্নলিখিতগুলির সাথে প্রতিস্থাপন করতে পারেন:

import { Component, resource, signal } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { runFlow } from 'genkit/beta/client';

@Component({
  selector: 'app-root',
  imports: [FormsModule],
  templateUrl: './app.component.html',
})
export class AppComponent {
  menuInput = '';
  theme = signal('');

  menuResource = resource({
    request: () => this.theme(),
    loader: ({request}) => runFlow({ url: 'menu', input: request })
  });
}

src/app/app.component.html এর সাথে সম্পর্কিত আপডেটগুলি করুন:

<h3>Generate a custom menu item</h3>
<input type="text" [(ngModel)]="menuInput" />
<button (click)="this.theme.set(menuInput)">Generate</button>
<br />
@if (menuResource.isLoading()) {
  Loading...
} @else {
  <pre>{{menuResource.value()}}</pre>
}

স্থানীয়ভাবে আপনার অ্যাপ পরীক্ষা করুন

আপনি যদি স্থানীয়ভাবে আপনার অ্যাপ চালাতে চান, তাহলে আপনি উপলব্ধ করা বেছে নেওয়া মডেল API পরিষেবার জন্য শংসাপত্র তৈরি করতে হবে।

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

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

  3. আপনার কীতে GEMINI_API_KEY এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:

    export GEMINI_API_KEY=<your API key>
  1. ক্লাউড কনসোলে, আপনার প্রকল্পের জন্য Vertex AI API সক্ষম করুন

  2. কিছু পরিবেশ ভেরিয়েবল সেট করুন এবং অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র সেট আপ করতে gcloud টুল ব্যবহার করুন:

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

তারপরে, আপনার অ্যাপটি স্থানীয়ভাবে স্বাভাবিকভাবে চালান:

ng serve

Genkit এর সমস্ত উন্নয়ন সরঞ্জাম স্বাভাবিক হিসাবে কাজ করতে থাকে। উদাহরণস্বরূপ, বিকাশকারী UI-তে আপনার ফ্লো লোড করতে:

npx genkit start -- ng serve

আপনার অ্যাপ স্থাপন করুন

আপনি যখন আপনার অ্যাপটি স্থাপন করবেন, তখন আপনাকে নিশ্চিত করতে হবে যে আপনি ব্যবহার করেন এমন কোনো বাহ্যিক পরিষেবার (যেমন আপনার নির্বাচিত মডেল API পরিষেবা) জন্য শংসাপত্রগুলি স্থাপন করা অ্যাপে উপলব্ধ রয়েছে৷ আপনার নির্বাচিত স্থাপনার প্ল্যাটফর্মের জন্য নির্দিষ্ট তথ্যের জন্য নিম্নলিখিত পৃষ্ঠাগুলি দেখুন:

পরবর্তী পদক্ষেপ