Go के लिए Genkit लाइब्रेरी की झलक अब उपलब्ध है! फ़िलहाल, Go लाइब्रेरी का वर्शन अल्फा में है. इसलिए, डेवलपमेंट के दौरान आपको एपीआई और फ़ंक्शन में बदलाव दिख सकते हैं. हमारा सुझाव है कि इसका इस्तेमाल सिर्फ़ प्रोटोटाइप बनाने और एक्सप्लोरेशन के लिए करें.
अगर आपको लाइब्रेरी या इस दस्तावेज़ में कोई समस्या मिलती है, तो कृपया हमारे GitHub डेटाबेस में इसकी शिकायत करें.
Genkit का इस्तेमाल शुरू करने के लिए, Genkit CLI इंस्टॉल करें और Go प्रोजेक्ट में genkit init
चलाएं. इस पेज के बाकी हिस्से में, इसका तरीका बताया गया है.
ज़रूरी शर्तें
Go 1.22 या उसके बाद का वर्शन. Go के आधिकारिक दस्तावेज़ों में, डाउनलोड और इंस्टॉल करें देखें.
Genkit के सीएलआई और यूज़र इंटरफ़ेस (यूआई) के लिए, Node.js 20 या इसके बाद का वर्शन. Node इंस्टॉल करने के बारे में कम शब्दों में जानकारी पाने के लिए, अगला सेक्शन देखें.
Genkit इंस्टॉल करना
अगर आपके सिस्टम पर पहले से Node 20 या इसके बाद का वर्शन नहीं है, तो इसे अभी इंस्टॉल करें.
सुझाव: अगर आपके सिस्टम पर Node पहले से इंस्टॉल नहीं है, तो
nvm
औरnvm-windows
टूल का इस्तेमाल करके, Node के खास वर्शन को आसानी से इंस्टॉल किया जा सकता है. ये टूल, हर उपयोगकर्ता के हिसाब से Node इंस्टॉल करते हैं. इसलिए, आपको पूरे सिस्टम में बदलाव करने की ज़रूरत नहीं होती.nvm
इंस्टॉल करने के लिए:Linux, macOS वगैरह
यह कमांड चलाएं:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
शीशा
nvm-windows के दस्तावेज़ों में बताए गए तरीके से इंस्टॉलर डाउनलोड और चलाएं.
इसके बाद, Node और
npm
इंस्टॉल करने के लिए, एक नया शेल खोलें और यह कमांड चलाएं:nvm install 20
Genkit सीएलआई इंस्टॉल करने के लिए, यह कमांड चलाएं:
npm i -g genkit
यह कमांड, Genkit CLI को आपकी Node इंस्टॉलेशन डायरेक्ट्री में इंस्टॉल करता है, ताकि इसका इस्तेमाल Node प्रोजेक्ट के बाहर किया जा सके.
सैंपल प्रोजेक्ट बनाना और उसे एक्सप्लोर करना
नई प्रोजेक्ट डायरेक्ट्री बनाएं:
mkdir genkit-intro && cd genkit-intro
Genkit प्रोजेक्ट शुरू करने के लिए:
genkit init
रनटाइम एनवायरमेंट के तौर पर
Go
चुनें.अपना मॉडल चुनें:
Gemini (Google का एआई)
Google के एआई 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 की कीमत देखें.
मॉड्यूल के नाम के लिए कोई भी नाम डालें. उदाहरण के लिए:
example/genkit-intro
बाकी सवालों के लिए डिफ़ॉल्ट जवाब चुनें. इससे आपके प्रोजेक्ट फ़ोल्डर को कुछ सैंपल कोड के साथ शुरू किया जाएगा.
genkit init
कमांड, Go मॉड्यूल का सैंपल बनाता है और ज़रूरी डिपेंडेंसी इंस्टॉल करता है. फ़ाइलmain.go
में एक फ़्लो,menuSuggestionFlow
है. यह एलएलएम को किसी थीम वाले रेस्टोरेंट के लिए आइटम का सुझाव देने के लिए कहता है.यह फ़ाइल कुछ ऐसी दिखती है (अगर आपने Vertex AI चुना है, तो प्लग इन कॉन्फ़िगरेशन के चरण अलग दिख सकते हैं):
package main import ( "context" "errors" "fmt" "log" // Import Genkit and the Google AI plugin "github.com/firebase/genkit/go/ai" "github.com/firebase/genkit/go/genkit" "github.com/firebase/genkit/go/plugins/googlegenai" ) func main() { ctx := context.Background() // Initialize Genkit with the Google AI plugin. When you pass nil for the // Config parameter, the Google AI plugin will get the API key from the // GOOGLE_GENAI_API_KEY environment variable, which is the recommended // practice. g, err := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{})) if err != nil { log.Fatal(err) } // Define a simple flow that prompts an LLM to generate menu suggestions. genkit.DefineFlow(g, "menuSuggestionFlow", func(ctx context.Context, input string) (string, error) { // The Google AI API provides access to several generative models. Here, // we specify gemini-1.5-flash. m := googlegenai.GoogleAIModel(g, "gemini-1.5-flash") if m == nil { return "", errors.New("menuSuggestionFlow: failed to find model") } // Construct a request and send it to the model API (Google AI). resp, err := genkit.Generate(ctx, g, ai.WithModel(m), ai.WithConfig(&ai.GenerationCommonConfig{Temperature: 1}), ai.WithPromptText(fmt.Sprintf(`Suggest an item for the menu of a %s themed restaurant`, input))) if err != nil { return "", err } // 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. text := resp.Text() return text, nil }) <-ctx.Done() }
Genkit की मदद से अपने ऐप्लिकेशन की एआई सुविधाएं बनाते समय, आपको कई चरणों वाले फ़्लो बनाने पड़ सकते हैं. जैसे, इनपुट को पहले से प्रोसेस करना, बेहतर प्रॉम्प्ट बनाना, रीट्रिवल-ऑगमेंटेड जनरेशन (आरएजी) के लिए बाहरी जानकारी के सोर्स को इंटिग्रेट करना वगैरह.
अब अपनी मशीन पर, Genkit की सुविधाओं और सैंपल प्रोजेक्ट को स्थानीय तौर पर चलाया और एक्सप्लोर किया जा सकता है. Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) डाउनलोड करें और उसे शुरू करें:
genkit start
Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) अब आपकी मशीन पर चल रहा है. अगले चरण में मॉडल या फ़्लो चलाने पर, आपकी मशीन आपके फ़्लो के चरणों को एक साथ काम करने के लिए, ऑर्केस्ट्रेशन टास्क को पूरा करेगी. Gemini API जैसी बाहरी सेवाओं को कॉल, लाइव सर्वर के ज़रिए ही किया जाएगा.
साथ ही, डेवलपर एनवायरमेंट में होने की वजह से, Genkit, ट्रेस और फ़्लो की स्थिति को लोकल फ़ाइलों में सेव करेगा.
genkit start
कमांड चलाने पर, Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) अपने-आप डाउनलोड और खुल जाता है.डेवलपर यूज़र इंटरफ़ेस (यूआई) की मदद से, यह देखा जा सकता है कि आपने कौनसे फ़्लो तय किए हैं और कौनसे मॉडल कॉन्फ़िगर किए हैं. साथ ही, उन्हें चलाया जा सकता है और पिछले रन के ट्रेस की जांच की जा सकती है. इनमें से कुछ सुविधाएं आज़माएं:
रन टैब पर, आपको उन सभी फ़्लो की सूची दिखेगी जिन्हें आपने तय किया है. साथ ही, प्लग इन से कॉन्फ़िगर किए गए सभी मॉडल भी दिखेंगे.
menuSuggestionFlow पर क्लिक करें और इसे कुछ इनपुट टेक्स्ट (उदाहरण के लिए,
"cat"
) के साथ चलाकर देखें. अगर सब कुछ ठीक से काम करता है, तो आपको बिल्ली थीम वाले रेस्टोरेंट के लिए मेन्यू का सुझाव मिलेगा.जांच करें टैब पर, आपको फ़्लो के लागू होने का इतिहास दिखेगा. हर फ़्लो के लिए, फ़्लो में पास किए गए पैरामीटर और हर चरण के ट्रैक को देखा जा सकता है.