Плагин 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 по умолчанию.
Чтобы указать свои учетные данные:
Если вы запускаете поток из среды Google Cloud (Cloud Functions, Cloud Run и т. д.), это устанавливается автоматически.
В вашей локальной среде разработки сделайте это, запустив:
gcloud auth application-default login
- Информацию о других средах см. в документации по учетным данным приложения по умолчанию .
Кроме того, убедитесь, что учетной записи предоставлена роль IAM пользователя 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 Model Garden, вы можете использовать их с 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
Сначала вам нужно включить службу API Llama 3.1 в Vertex AI Model Garden.
Вот пример конфигурации для Llama 3.1 405b в плагине Vertex AI:
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 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
.