Vertex AI प्लगिन

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

  • Gemini 1.0 Pro और Gemini 1.0 Pro विज़न टेक्स्ट जनरेट करना
  • Imagen2 इमेज जनरेशन
  • गेको टेक्स्ट एम्बेड करने की प्रोसेस

यह Vertex AI रैपिड इवैलुएशन एपीआई की मदद से, इवैलुएशन मेट्रिक के सबसेट को ऐक्सेस भी देता है.

इंस्टॉल करना

npm i --save @genkit-ai/vertexai

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

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

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

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

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

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

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

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

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

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

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

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

      gcloud auth application-default login
      
    2. इसके अलावा, पक्का करें कि खाते को Vertex AI उपयोगकर्ता 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 Model Garden पर एंथ्रोपिक क्लाउड 3

अगर आपके पास Vertex AI Model Garden में Claude 3 मॉडल (हाइकू, सोनेट या ऑपस) का ऐक्सेस है, तो उन्हें 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 Schema के समीक्षकों का इस्तेमाल करने के लिए, अपने 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 की ज़रूरत होती है.