शुरू करें

Firebase Genkit का इस्तेमाल शुरू करने के लिए, Genkit सीएलआई इंस्टॉल करें और Node.js प्रोजेक्ट में genkit init को चलाएं. इस पेज के बाकी हिस्से में इसका तरीका बताया गया है.

ज़रूरी शर्तें

Node.js 20 या इसके बाद के वर्शन.

काम का तरीका

  1. नीचे दिए गए निर्देश की मदद से, Genkit CLI इंस्टॉल करें:

    npm i -g genkit
    
  2. नया नोड प्रोजेक्ट बनाएं:

    mkdir genkit-intro && cd genkit-intro
    npm init -y
    

    Package.json देखें और पक्का करें कि main फ़ील्ड को lib/index.js पर सेट किया गया हो.

  3. Genkit प्रोजेक्ट शुरू करना:

    genkit init
    
    1. डिप्लॉयमेंट प्लैटफ़ॉर्म के विकल्प के तौर पर, अन्य प्लैटफ़ॉर्म चुनें. Firebase Cloud Functions और Google Cloud Run के लिए भी टेंप्लेट उपलब्ध हैं.

    2. अपना मॉडल चुनें:

      Gemini (Google का एआई)

      इसका सबसे आसान तरीका है कि Google के AI Gemini API का इस्तेमाल किया जाए. पक्का करें कि यह सुविधा आपके इलाके में उपलब्ध हो.

      Google AI Studio की मदद से, Gemini API के लिए एपीआई पासकोड जनरेट करें. इसके बाद, GOOGLE_GENAI_API_KEY एनवायरमेंट वैरिएबल को अपनी कुंजी पर सेट करें:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      अगर Google का एआई 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
      

      Vertex AI की कीमतों के बारे में जानने के लिए, https://cloud.google.com/verseex-ai/generative-ai/pricing पर जाएं.

    3. बाकी सवालों के लिए डिफ़ॉल्ट जवाब चुनें. इससे आपका प्रोजेक्ट फ़ोल्डर कुछ सैंपल कोड के साथ शुरू हो जाएगा.

    genkit init निर्देश, सोर्स फ़ाइल index.ts का सैंपल बनाता है. यह सिंगल फ़्लो, menuSuggestionFlow के बारे में जानकारी देता है. इससे एलएलएम को किसी थीम वाले रेस्टोरेंट के लिए आइटम का सुझाव देने के लिए कहा जाता है.

    यह फ़ाइल कुछ इस तरह दिखेगी (अगर आपने Vertex AI को चुना है, तो प्लगिन को कॉन्फ़िगर करने के तरीके अलग दिख सकते हैं):

    import * as z from 'zod';
    
    // Import the Genkit core libraries and plugins.
    import { generate } from '@genkit-ai/ai';
    import { configureGenkit } from '@genkit-ai/core';
    import { defineFlow, startFlowsServer } from '@genkit-ai/flow';
    import { googleAI } from '@genkit-ai/googleai';
    
    // Import models from the Google AI plugin. The Google AI API provides access to
    // several generative models. Here, we import Gemini 1.5 Flash.
    import { gemini15Flash } from '@genkit-ai/googleai';
    
    configureGenkit({
      plugins: [
        // Load the Google AI plugin. You can optionally specify your API key
        // by passing in a config object; if you don't, the Google AI plugin uses
        // the value from the GOOGLE_GENAI_API_KEY environment variable, which is
        // the recommended practice.
        googleAI(),
      ],
      // Log debug output to tbe console.
      logLevel: 'debug',
      // Perform OpenTelemetry instrumentation and enable trace collection.
      enableTracingAndMetrics: true,
    });
    
    // Define a simple flow that prompts an LLM to generate menu suggestions.
    export const menuSuggestionFlow = defineFlow(
      {
        name: 'menuSuggestionFlow',
        inputSchema: z.string(),
        outputSchema: z.string(),
      },
      async (subject) => {
        // Construct a request and send it to the model API.
        const llmResponse = await generate({
          prompt: `Suggest an item for the menu of a ${subject} themed restaurant`,
          model: gemini15Flash,
          config: {
            temperature: 1,
          },
        });
    
        // Handle the response from the model API. In this sample, we just convert
        // it to a string, but more complicated flows might coerce the response into
        // structured output or chain the response into another LLM call, etc.
        return llmResponse.text();
      }
    );
    
    // Start a flow server, which exposes your flows as HTTP endpoints. This call
    // must come last, after all of your plug-in configuration and flow definitions.
    // You can optionally specify a subset of flows to serve, and configure some
    // HTTP server options, but by default, the flow server serves all defined flows.
    startFlowsServer();
    

    Genkit के साथ अपने ऐप्लिकेशन की एआई सुविधाओं को बनाने पर, आपको कई चरणों की मदद मिल सकती है. जैसे, इनपुट प्री-प्रोसेसिंग, बेहतर प्रॉम्प्ट बनाना, रिकवर करने वाली जनरेशन (आरएजी) के लिए बाहरी जानकारी के सोर्स इंटिग्रेट करना वगैरह.

  4. अब आपके पास Genkit की सुविधाओं और सैंपल प्रोजेक्ट को चलाने और एक्सप्लोर करने का विकल्प है. Genkit Developer यूज़र इंटरफ़ेस (यूआई) डाउनलोड और शुरू करें:

    genkit start
    

    Genkit Developer के यूज़र इंटरफ़ेस (यूआई) में आपका स्वागत है

    Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई), अब आपकी मशीन पर चल रहा है. अगले चरण में मॉडल या फ़्लो चलाने पर, आपकी मशीन ऑर्कस्ट्रैशन के वे सभी टास्क पूरे करेगी जो एक साथ काम करते हुए आपको फ़्लो के सभी चरणों को पूरा करने के लिए ज़रूरी हैं. Gemini API जैसी बाहरी सेवाओं को, लाइव सर्वर से कॉल करने की सुविधा अब भी जारी रहेगी.

    साथ ही, आप डेव एनवायरमेंट में हैं, इसलिए Genkit लोकल फ़ाइलों में ट्रेस और फ़्लो की स्थिति सेव करेगा.

  5. जब genkit start निर्देश चलाया जाता है, तो Genkit Developer का यूज़र इंटरफ़ेस (यूआई) डाउनलोड होता है और अपने-आप खुल जाता है.

    डेवलपर यूज़र इंटरफ़ेस (यूआई) की मदद से, यह देखा जा सकता है कि आपने कौनसे फ़्लो और मॉडल कॉन्फ़िगर किए हैं. साथ ही, उन्हें चलाने और पिछली बार चलाए गए उनके ट्रेस की जांच करने की सुविधा भी मिलती है. इन सुविधाओं में से कुछ को आज़माएं:

    • Run टैब पर, आपको अपने तय किए गए सभी फ़्लो की सूची दिखेगी. साथ ही, आपको प्लगिन के ज़रिए कॉन्फ़िगर किए गए सभी मॉडल भी दिखेंगे.

      menuसुझावFlow पर क्लिक करें और इसे कुछ इनपुट टेक्स्ट के साथ चलाने की कोशिश करें (उदाहरण के लिए, "cat"). अगर सब ठीक रहता है, तो आपको बिल्ली की थीम वाले रेस्टोरेंट के लिए मेन्यू का सुझाव मिलेगा.

    • जांच करें टैब पर, आपको फ़्लो लागू किए जाने का इतिहास दिखेगा. हर फ़्लो के लिए, फ़्लो में पास किए गए पैरामीटर और हर चरण के चलने के दौरान उसके ट्रेस देखे जा सकते हैं.

अगले चरण

Firebase, Cloud Run या किसी भी Node.js प्लैटफ़ॉर्म की मदद से Genkit ऐप्लिकेशन बनाने और डिप्लॉय करने का तरीका जानें.