المكوّن الإضافي Vertex AI

يوفّر مكوّن Vertex AI الإضافي واجهات للعديد من نماذج الذكاء الاصطناعي التوليدي من Google. من خلال Vertex AI API:

  • إنشاء نصوص بين Gemini 1.0 Pro وGemini 1.0 Pro Vision
  • إنشاء صور Imagen2
  • إنشاء تضمين نص Gecko

يوفّر أيضًا إمكانية الوصول إلى مجموعة فرعية من مقاييس التقييم من خلال واجهة برمجة تطبيقات التقييم السريع في 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 والوظائف والتشغيل في السحابة الإلكترونية وما إلى ذلك)، يتم ضبط GCLOUD_PROJECT تلقائيًا على معرف المشروع للبيئة.

  • يمكنك تحديد الموقع الجغرافي لواجهة برمجة التطبيقات من خلال ضبط location في ضبط vertexAI() أو من خلال ضبط بيئة GCLOUD_LOCATION المتغير.

  • لتقديم بيانات اعتماد واجهة برمجة التطبيقات، يجب إعداد تطبيق Google Cloud. بيانات الاعتماد التلقائية.

    1. لتحديد بيانات الاعتماد:

      • إذا كنت تشغّل التدفق من بيئة Google Cloud (Cloud والوظائف، وتشغيل السحابة، وما إلى ذلك)، يتم تعيين ذلك تلقائيًا.

      • في بيئة مطور البرامج المحلية، يمكنك إجراء ذلك عن طريق تشغيل:

      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?',
});

كلود 3 أنثروبيك في حديقة Vertex AI

إذا كان بإمكانك الوصول إلى نماذج Claude 3 (haiku أو sonnet أو opus) في Vertex AI، يمكنك استخدامها مع 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?',
});

لاما 3.1 405b على Vertex AI model Garden

إذا كان بإمكانك الوصول إلى Llama 3.1 405b في Vertex AI model Garden، يمكنك استخدامها مع 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، أضِف مجموعة evaluation إلى إعدادات المكوّن الإضافي vertexAI.

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.