Плагин Vertex AI

Плагин Vertex AI предоставляет интерфейсы к нескольким генеративным моделям искусственного интеллекта Google через API Vertex AI :

  • Генерация текста Gemini 1.0 Pro и Gemini 1.0 Pro Vision
  • Генерация изображений Imagen2
  • Генерация встраивания текста Gecko

Он также обеспечивает доступ к подмножеству показателей оценки через API Vertex AI Rapid Evaluation API .

Монтаж

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 автоматически устанавливается идентификатор проекта среды.

  • Вы можете указать местоположение API, задав location в конфигурации vertexAI() или установив переменную среды GCLOUD_LOCATION .

  • Чтобы предоставить учетные данные API, вам необходимо настроить учетные данные Google Cloud Application по умолчанию.

    1. Чтобы указать свои учетные данные:

      • Если вы запускаете поток из среды Google Cloud (Cloud Functions, Cloud Run и т. д.), это устанавливается автоматически.

      • В вашей локальной среде разработки сделайте это, запустив:

      gcloud auth application-default login
      
    2. Кроме того, убедитесь, что учетной записи предоставлена ​​роль IAM пользователя 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 Model Garden, вы можете использовать их с 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, добавьте 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 .