Vertex AI प्लगिन

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

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

अगर आपको इस प्लगिन का इस्तेमाल करने वाले फ़्लो को लोकल तौर पर चलाना है, तो आपको Google Cloud CLI टूल इंस्टॉल किया गया.

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

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

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

प्लगिन के लिए आपको अपना Google Cloud प्रोजेक्ट आईडी बताना होगा, क्षेत्र जिसके लिए आपको Vertex API अनुरोध और अपना Google Cloud प्रोजेक्ट ऐक्सेस करना है क्रेडेंशियल डालें.

  • डिफ़ॉल्ट रूप से, vertexai.Init() को आपका Google Cloud प्रोजेक्ट आईडी GCLOUD_PROJECT एनवायरमेंट वैरिएबल.

    इस वैल्यू को सीधे पास भी किया जा सकता है:

    if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil {
      return err
    }
    
  • vertexai.Init() को डिफ़ॉल्ट रूप से, Vertex AI API की जगह GCLOUD_LOCATION एनवायरमेंट वैरिएबल.

    इस वैल्यू को सीधे पास भी किया जा सकता है:

    if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil {
      return err
    }
    
  • एपीआई क्रेडेंशियल देने के लिए, आपको Google Cloud ऐप्लिकेशन सेट अप करना होगा डिफ़ॉल्ट क्रेडेंशियल.

    1. अपने क्रेडेंशियल बताने के लिए:

      • अगर Google Cloud के एनवायरमेंट (Cloud इस्तेमाल करने का तरीका) से फ़्लो चलाया जा रहा है फ़ंक्शन, Cloud Run वगैरह), तो यह अपने-आप सेट हो जाता है.

      • अपने स्थानीय डेवलपर एनवायरमेंट पर, इसे चलाकर ऐसा करें:

      gcloud auth application-default login
      
    2. इसके अलावा, पक्का करें कि खाते को Vertex AI उपयोगकर्ता की आईएएम की भूमिका दी गई हो (roles/aiplatform.user). Vertex AI का ऐक्सेस कंट्रोल देखें दस्तावेज़.

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

जनरेटिव मॉडल

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

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

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

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

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

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

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

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

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

इन मॉडल का इस्तेमाल किया जा सकता है: textembedding-gecko@003, textembedding-gecko@002, textembedding-gecko@001, text-embedding-004, textembedding-gecko-multilingual@001, text-multilingual-embedding-002, और multimodalembedding.

एम्बेडर के रेफ़रंस में एक Embed() तरीका होता है, जो Vertex 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
}

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