Vertex AI प्लगिन

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

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

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

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

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

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

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

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

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

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

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

import { gemini15Flash, gemini15Pro, imagen2 } from '@genkit-ai/vertexai';

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

const llmResponse = await generate({
  model: gemini15Flash,
  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',
      modelGarden: {
        models: [claude3Haiku, claude3Sonnet, claude3Opus],
      },
    }),
  ],
});

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

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

Vertex AI Model Garden पर Llama 3.1 405b

अगर आपके पास Vertex AI Model Garden में Llama 3.1 405b का ऐक्सेस है, तो इसे Genkit के साथ इस्तेमाल किया जा सकता है.

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

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

export default configureGenkit({
  plugins: [
    vertexAI({
      location: 'us-central1',
      modelGarden: {
        models: [llama3],
      },
    }),
  ],
});

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

const llmResponse = await generate({
  model: llama3,
  prompt: 'Write a function that adds two numbers together',
});

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

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 की ज़रूरत होती है.