Google का जनरेटिव एआई प्लगिन

Google का जनरेटिव एआई प्लगिन, Google के Gemini मॉडल के लिए इंटरफ़ेस उपलब्ध कराता है Gemini API के ज़रिए किया जा सकता है.

कॉन्फ़िगरेशन

इस प्लग इन का उपयोग करने के लिए googleai पैकेज आयात करें और googleai.Init() को कॉल करें:

import "github.com/firebase/genkit/go/plugins/googleai"
if err := googleai.Init(ctx, nil); err != nil {
    return err
}

Gemini API का इस्तेमाल करने के लिए, प्लगिन के लिए एपीआई पासकोड की ज़रूरत होती है. Google AI Studio.

अपनी एपीआई कुंजी का इस्तेमाल करने के लिए, प्लग इन को कॉन्फ़िगर करें. इसके लिए, इनमें से कोई एक काम करें:

  • GOOGLE_GENAI_API_KEY एनवायरमेंट वैरिएबल को अपनी एपीआई पासकोड पर सेट करें.

  • प्लग इन शुरू करते समय एपीआई पासकोड तय करें:

    if err := googleai.Init(ctx, &googleai.Config{APIKey: yourKey}); err != nil {
      return err
    }
    

    हालांकि, अपनी एपीआई कुंजी को सीधे कोड में एम्बेड न करें! सिर्फ़ इस सुविधा का इस्तेमाल करें के साथ करना होगा.

इस्तेमाल किए जाने से जुड़ी जानकारी

जनरेटिव मॉडल

काम करने वाले मॉडल का रेफ़रंस पाने के लिए, उसका आइडेंटिफ़ायर तय करें:

langModel := googleai.Model("gemini-1.5-pro")

इन मॉडल का इस्तेमाल किया जा सकता है: gemini-1.0-pro, gemini-1.5-pro, और gemini-1.5-flash.

मॉडल के रेफ़रंस में Generate() का तरीका होता है, जो Google AI API को कॉल करता है:

genRes, err := langModel.Generate(ctx, ai.NewGenerateRequest(
    nil, ai.NewUserTextMessage("Tell me a joke.")), nil)
if err != nil {
    return err
}

ज़्यादा जानकारी के लिए, कॉन्टेंट जनरेट करना लेख पढ़ें.

एम्बेड करने के मॉडल

काम करने वाले एम्बेडिंग मॉडल का रेफ़रंस पाने के लिए, उसका आइडेंटिफ़ायर तय करें:

embeddingModel := googleai.Embedder("text-embedding-004")

ये मॉडल इस्तेमाल किए जा सकते हैं: text-embedding-004 और embedding-001.

एम्बेडर के रेफ़रंस में एक Embed() तरीका होता है, जो Google AI API को कॉल करता है:

embedRes, err := embeddingModel.Embed(ctx, &ai.EmbedRequest{
    Documents: []*ai.Document{ai.DocumentFromText(userInput, nil)},
})
if err != nil {
    return err
}

आपके पास किसी इंडेक्सर के Index() मेथड और रिट्रीवर Retrieve() तरीका:

if err := myIndexer.Index(ctx, &ai.IndexerRequest{Documents: docsToIndex}); err != nil {
    return err
}
retrieveRes, err := myRetriever.Retrieve(ctx, &ai.RetrieverRequest{
    Document: ai.DocumentFromText(userInput, nil),
})
if err != nil {
    return err
}

ज़्यादा जानकारी के लिए, रिट्रीवल-एगमेंटेड जनरेशन (आरएजी) लेख पढ़ें.