शुरू करें

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

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

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

सुझाव: nvm और nvm-windows टूल नोड इंस्टॉल करने का आसान तरीका.

Genkit इंस्टॉल करें

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

npm i -g genkit

यह निर्देश आपके नोड इंस्टॉलेशन डायरेक्ट्री में Genkit CLI इंस्टॉल करता है ताकि इसे किसी नोड प्रोजेक्ट के बाहर इस्तेमाल किया जा सके.

सैंपल प्रोजेक्ट बनाना और उसे एक्सप्लोर करना

  1. नया नोड प्रोजेक्ट बनाएं:

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

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

  2. 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 के साथ अपने ऐप्लिकेशन की एआई सुविधाओं को डेवलप करते समय, कई चरणों वाली फ़्लो जनरेट करें, जैसे कि इनपुट प्री-प्रोसेसिंग वगैरह बेहतर प्रॉम्प्ट बनाना, जिसमें बाहरी जानकारी शामिल हो जैसे कि रिकवरी-ऑग्मेंटेड जनरेशन (आरएजी) वगैरह के सोर्स.

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

    genkit start
    

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

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

    साथ ही, आप डेव एनवायरमेंट में हैं, इसलिए Genkit आपके ऐप्लिकेशन की मदद से स्थानीय फ़ाइलों में फ़्लो स्थिति की जानकारी मौजूद होती है.

  4. Genkit Developer का यूज़र इंटरफ़ेस (यूआई) डाउनलोड होने पर, genkit start निर्देश.

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

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

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

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

अगले चरण

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