المكوّن الإضافي 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 Functions وCloud Run وما إلى ذلك)، سيتم ضبط GCLOUD_PROJECT تلقائيًا على معرّف مشروع البيئة.

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

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

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

      • إذا كنت تشغِّل المسار من بيئة Google Cloud (مثل Cloud Functions وCloud Run وما إلى ذلك)، سيتم ضبط الإعدادات تلقائيًا.

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

      gcloud auth application-default login
      
    2. بالإضافة إلى ذلك، تأكَّد من منح الحساب دور "إدارة الهوية وإمكانية الوصول" لمستخدم Vertex AI (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?',
});

كلود 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',
      modelGardenModels: [claude3Haiku, claude3Sonnet, claude3Opus],
    }),
  ],
});

بعد ذلك، استخدمها كنماذج عادية:

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

المقيّمون

لاستخدام المقيّمين من التقييم السريع في 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.