Google का जनरेटिव एआई प्लग इन, Gemini API या Gemini API in Vertex AI की मदद से, Google के Gemini मॉडल के इंटरफ़ेस उपलब्ध कराता है.
कॉन्फ़िगरेशन
कॉन्फ़िगरेशन इस बात पर निर्भर करता है कि आपने किस सेवा देने वाली कंपनी को चुना है:
Google का एआई
इस प्लग इन का इस्तेमाल करने के लिए, googlegenai
पैकेज इंपोर्ट करें और Genkit initializer में googlegenai.GoogleAI
को WithPlugins()
पर पास करें:
import "github.com/firebase/genkit/go/plugins/googlegenai"
g, err := genkit.Init(context.Background(), ai.WithPlugins(&googlegenai.GoogleAI{}))
प्लग इन को Gemini API के लिए एपीआई पासकोड की ज़रूरत होती है. इसे Google AI Studio से पाया जा सकता है.
अपनी एपीआई कुंजी का इस्तेमाल करने के लिए, प्लग इन को कॉन्फ़िगर करें. इसके लिए, इनमें से कोई एक काम करें:
GEMINI_API_KEY
एनवायरमेंट वैरिएबल को अपनी एपीआई पासकोड पर सेट करें.प्लग इन को शुरू करते समय, एपीआई पासकोड डालें:
ai.WithPlugins(&googlegenai.GoogleAI{APIKey: "YOUR_API_KEY"})
हालांकि, अपनी एपीआई पासकोड को सीधे कोड में एम्बेड न करें! इस सुविधा का इस्तेमाल सिर्फ़ Cloud Secret Manager या मिलती-जुलती सेवा के साथ करें.
Vertex AI
इस प्लग इन का इस्तेमाल करने के लिए, googlegenai
पैकेज इंपोर्ट करें और Genkit initializer में googlegenai.VertexAI
को WithPlugins()
पर पास करें:
import "github.com/firebase/genkit/go/plugins/googlegenai"
g, err := genkit.Init(context.Background(), genkit.WithPlugins(&googlegenai.VertexAI{}))
प्लग इन के लिए, आपको अपना Google Cloud प्रोजेक्ट आईडी, वह इलाका बताना होगा जहां आपको Vertex API के अनुरोध करने हैं. साथ ही, आपको अपने Google Cloud प्रोजेक्ट के क्रेडेंशियल भी देने होंगे.
डिफ़ॉल्ट रूप से,
googlegenai.VertexAI
को आपका Google Cloud प्रोजेक्ट आईडी,GOOGLE_CLOUD_PROJECT
एनवायरमेंट वैरिएबल से मिलता है.इस वैल्यू को सीधे भी पास किया जा सकता है:
genkit.WithPlugins(&googlegenai.VertexAI{ProjectID: "my-project-id"})
डिफ़ॉल्ट रूप से,
googlegenai.VertexAI
को Vertex AI API की जगह की जानकारी,GOOGLE_CLOUD_LOCATION
एनवायरमेंट वैरिएबल से मिलती है.इस वैल्यू को सीधे भी पास किया जा सकता है:
genkit.WithPlugins(&googlegenai.VertexAI{Location: "us-central1"})
एपीआई क्रेडेंशियल देने के लिए, आपको Google Cloud ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल सेट अप करने होंगे.
अपने क्रेडेंशियल डालने के लिए:
अगर आपका फ़्लो, Google Cloud के किसी एनवायरमेंट (Cloud Functions, Cloud Run वगैरह) से चल रहा है, तो यह अपने-आप सेट हो जाता है.
अपने स्थानीय डेवलपर एनवायरमेंट में, यह करने के लिए:
gcloud auth application-default login
- अन्य एनवायरमेंट के लिए, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल के दस्तावेज़ देखें.
इसके अलावा, पक्का करें कि खाते को Vertex AI उपयोगकर्ता आईएएम भूमिका (
roles/aiplatform.user
) दी गई हो. Vertex AI के ऐक्सेस कंट्रोल दस्तावेज़ देखें.
इस्तेमाल
जनरेटिव मॉडल
इस्तेमाल किए जा सकने वाले मॉडल का रेफ़रंस पाने के लिए, उसके आइडेंटिफ़ायर को googlegenai.GoogleAIModel
या googlgenai.VertexAIModel
में से किसी एक के तौर पर सेट करें:
model := googlegenai.GoogleAIModel(g, "gemini-2.0-flash")
इसके अलावा, आपके पास एक ModelRef
बनाने का विकल्प है, जो मॉडल के नाम को उसके कॉन्फ़िगरेशन के साथ जोड़ता है:
modelRef := googlegenai.GoogleAIModelRef("gemini-2.0-flash", &googlegenai.GeminiConfig{
Temperature: 0.5,
MaxOutputTokens: 500,
// Other configuration...
})
इन मॉडल का इस्तेमाल किया जा सकता है: gemini-1.5-pro
, gemini-1.5-flash
,
gemini-2.0-pro
, gemini-2.0-flash
, और अन्य प्रयोगात्मक मॉडल.
मॉडल रेफ़रंस में Generate()
तरीका होता है, जो Google API को कॉल करता है:
resp, err := genkit.Generate(ctx, g, ai.WithModel(modelRef), ai.WithPrompt("Tell me a joke."))
if err != nil {
return err
}
log.Println(resp.Text())
ज़्यादा जानकारी के लिए, एआई मॉडल की मदद से कॉन्टेंट जनरेट करना लेख पढ़ें.
मॉडल एम्बेड करना
एम्बेड करने के लिए इस्तेमाल किए जा सकने वाले मॉडल का रेफ़रंस पाने के लिए, उसके आइडेंटिफ़ायर को googlegenai.GoogleAIEmbedder
या googlgenai.VertexAIEmbedder
पर सेट करें:
embeddingModel := googlegenai.GoogleAIEmbedder(g, "text-embedding-004")
ये मॉडल काम करते हैं:
Google का एआई
text-embedding-004
औरembedding-001
Vertex AI
textembedding-gecko@003
,textembedding-gecko@002
,textembedding-gecko@001
,text-embedding-004
,textembedding-gecko-multilingual@001
,text-multilingual-embedding-002
, औरmultimodalembedding
एम्बेड करने वाले रेफ़रंस में एक Embed()
तरीका होता है, जो Google के एआई एपीआई को कॉल करता है:
resp, err := ai.Embed(ctx, embeddingModel, ai.WithDocs(userInput))
if err != nil {
return err
}
एम्बेडर को इंडेक्स करने वाले के Index()
तरीके और डेटा वापस लाने वाले के Retrieve()
तरीके में भी पास किया जा सकता है:
if err := ai.Index(ctx, myIndexer, ai.WithDocs(docsToIndex...)); err != nil {
return err
}
resp, err := ai.Retrieve(ctx, myRetriever, ai.WithDocs(userInput))
if err != nil {
return err
}
ज़्यादा जानकारी के लिए, रिट्रीवल-ऑगमेंटेड जनरेशन (आरएजी) देखें.