Vertex AI प्लगिन

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

  • Gemini 1.0 Pro और Gemini 1.0 Pro Vision में टेक्स्ट जनरेट करना
  • Imagen2 इमेज जनरेट करना
  • गेको टेक्स्ट एम्बेडिंग जनरेट करना

यह Vertex AI Rapid Assessment API के ज़रिए, इवैलुएशन मेट्रिक के सबसेट का ऐक्सेस भी देता है.

इंस्टॉल करना

npm i --save @genkit-ai/vertexai

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

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

इस प्लग इन का इस्तेमाल करने के लिए, configureGenkit() को कॉल करते समय इसे तय करें:

import { vertexAI } from '@genkit-ai/vertexai';

export default configureGenkit({
  plugins: [
    vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
  ],
  // ...
});

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

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

  • एपीआई की जगह की जानकारी देने के लिए, vertexAI() कॉन्फ़िगरेशन में location को सेट करें या GCLOUD_LOCATION एनवायरमेंट वैरिएबल सेट करें.

  • एपीआई क्रेडेंशियल देने के लिए, आपको Google Cloud ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल सेट अप करने होंगे.

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

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

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

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

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

जनरेटिव एआई मॉडल

यह प्लगिन, इसके साथ काम करने वाले जनरेटिव एआई मॉडल के रेफ़रंस को स्टैटिक रूप से एक्सपोर्ट करता है:

import { geminiPro, geminiProVision, imagen2 } from '@genkit-ai/vertexai';

इन रेफ़रंस का इस्तेमाल करके, यह तय किया जा सकता है कि generate() किस मॉडल का इस्तेमाल करता है:

const llmResponse = await generate({
  model: geminiPro,
  prompt: 'What should I do when I visit Melbourne?',
});

यह प्लग इन, Gecko टेक्स्ट एम्बेड करने वाले मॉडल का रेफ़रंस भी एक्सपोर्ट करता है:

import { textEmbeddingGecko } from '@genkit-ai/vertexai';

इस रेफ़रंस का इस्तेमाल यह बताने के लिए किया जा सकता है कि इंडेक्सर या रिट्रीवर किस एम्बेडर का इस्तेमाल करता है. उदाहरण के लिए, अगर Chroma DB का इस्तेमाल किया जाता है:

configureGenkit({
  plugins: [
    chroma([
      {
        embedder: textEmbeddingGecko,
        collectionName: 'my-collection',
      },
    ]),
  ],
});

इसके अलावा, सीधे एम्बेड किया जा सकता है:

// import { embed, EmbedderArgument } from '@genkit-ai/ai/embedder';
const embedding = await embed({
  embedder: textEmbeddingGecko,
  content: 'How many widgets do you have in stock?',
});

Vertex AI मॉडल गार्डन पर एंथ्रोपिक क्लॉड 3

अगर आपके पास Vertex AI Model Garden में Cloud 3 के मॉडल (haiku, sonnet या opus) का ऐक्सेस है, तो उन्हें Genkit के साथ इस्तेमाल किया जा सकता है.

Vertex AI Model Garden मॉडल चालू करने के लिए, सैंपल कॉन्फ़िगरेशन यहां दिया गया है:

import {
  vertexAI,
  claude3Haiku,
  claude3Sonnet,
  claude3Opus,
} from '@genkit-ai/vertexai';

export default configureGenkit({
  plugins: [
    vertexAI({
      location: 'us-central1',
      modelGardenModels: [claude3Haiku, claude3Sonnet, claude3Opus],
    }),
  ],
});

इसके बाद, इनका इस्तेमाल सामान्य मॉडल के तौर पर करें:

const llmResponse = await generate({
  model: claude3Sonnet,
  prompt: 'What should I do when I visit Melbourne?',
});

मूल्यांकन करने वाले

Vertex AI Rapid evaluation के समीक्षक का इस्तेमाल करने के लिए, अपने vertexAI प्लगिन कॉन्फ़िगरेशन में एक evaluation ब्लॉक जोड़ें.

import { vertexAI, VertexAIEvaluationMetricType } from '@genkit-ai/vertexai';

export default configureGenkit({
  plugins: [
    vertexAI({
      projectId: 'your-cloud-project',
      location: 'us-central1',
      evaluation: {
        metrics: [
          VertexAIEvaluationMetricType.SAFETY,
          {
            type: VertexAIEvaluationMetricType.ROUGE,
            metricSpec: {
              rougeType: 'rougeLsum',
            },
          },
        ],
      },
    }),
  ],
  // ...
});

ऊपर दिया गया कॉन्फ़िगरेशन, Safety और ROUGE मेट्रिक के लिए समीक्षकों को जोड़ता है. इस उदाहरण में दो तरीके दिखाए गए हैं- Safety मेट्रिक, डिफ़ॉल्ट स्पेसिफ़िकेशन का इस्तेमाल करती है, जबकि ROUGE मेट्रिक, पसंद के मुताबिक बनाई गई खास जानकारी देती है, जो रूज टाइप को rougeLsum पर सेट करती है.

दोनों समीक्षक, काम करने वाले डेटासेट के साथ genkit eval:run कमांड का इस्तेमाल करके चलाए जा सकते हैं: यानी, output और reference फ़ील्ड वाले डेटासेट. Safety समीक्षक को genkit eval:flow -e vertexai/safety निर्देश का इस्तेमाल करके भी चलाया जा सकता है, क्योंकि इसके लिए सिर्फ़ output की ज़रूरत होती है.