Plugin Vertex AI menyediakan antarmuka ke beberapa model AI generatif Google melalui Vertex AI API:
- Pembuatan teks Gemini 1.0 Pro dan Gemini 1.0 Pro Vision
- Pembuatan gambar Imagen2
- Pembuatan embedding teks tokek
Program ini juga memberikan akses ke sebagian metrik evaluasi melalui Rapid Evaluation API Vertex AI.
Penginstalan
npm i --save @genkit-ai/vertexai
Jika ingin menjalankan alur yang menggunakan plugin ini secara lokal, Anda juga memerlukan Google Cloud CLI tool.
Konfigurasi
Untuk menggunakan plugin ini, tentukan saat Anda memanggil configureGenkit()
:
import { vertexAI } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({ projectId: 'your-cloud-project', location: 'us-central1' }),
],
// ...
});
Plugin ini mengharuskan Anda menentukan project ID Google Cloud, region tempat Anda ingin membuat permintaan Vertex API, dan kredensial project Google Cloud Anda.
Anda dapat menentukan ID project Google Cloud dengan menyetel
projectId
di konfigurasivertexAI()
atau dengan menetapkan lingkunganGCLOUD_PROJECT
variabel. Jika Anda menjalankan alur dari lingkungan Google Cloud (Cloud Functions, Cloud Run, dan sebagainya),GCLOUD_PROJECT
secara otomatis disetel ke project ID lingkungan.Anda dapat menentukan lokasi API dengan menyetel
location
di KonfigurasivertexAI()
atau dengan menetapkan lingkunganGCLOUD_LOCATION
variabel.Untuk memberikan kredensial API, Anda perlu menyiapkan Kredensial Default Aplikasi Google Cloud.
Untuk menentukan kredensial Anda:
Jika Anda menjalankan flow dari lingkungan Google Cloud (Cloud Functions, Cloud Run, dan sebagainya), kredensial tersebut ditetapkan secara otomatis.
Di lingkungan pengembangan lokal Anda, lakukan hal ini dengan menjalankan:
gcloud auth application-default login
- Untuk lingkungan lainnya, lihat dokumen Kredensial Default Aplikasi.
Selain itu, pastikan akun diberi peran IAM Vertex AI User (
roles/aiplatform.user
). Lihat dokumen kontrol akses Vertex AI.
Penggunaan
Model AI Generatif
Plugin ini secara statis mengekspor referensi ke model AI generatif yang didukungnya:
import { gemini15Flash, gemini15Pro, imagen2 } from '@genkit-ai/vertexai';
Anda dapat menggunakan referensi ini untuk menentukan model mana yang digunakan generate()
:
const llmResponse = await generate({
model: gemini15Flash,
prompt: 'What should I do when I visit Melbourne?',
});
Plugin ini juga mengekspor referensi ke penyematan teks Gecko secara statis model:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Anda dapat menggunakan referensi ini untuk menentukan sematan mana dari pengindeks atau retriever pengguna. Misalnya, jika Anda menggunakan Chroma DB:
configureGenkit({
plugins: [
chroma([
{
embedder: textEmbeddingGecko,
collectionName: 'my-collection',
},
]),
],
});
Atau Anda dapat membuat embedding secara langsung:
// import { embed, EmbedderArgument } from '@genkit-ai/ai/embedder';
const embedding = await embed({
embedder: textEmbeddingGecko,
content: 'How many widgets do you have in stock?',
});
Anthropic Claude 3 di Vertex AI Model Garden
Jika Anda memiliki akses ke model Claude 3 (haiku, sonnet, atau opus) di Vertex AI Model Garden, Anda dapat menggunakannya dengan Genkit.
Berikut adalah contoh konfigurasi untuk mengaktifkan model 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],
},
}),
],
});
Kemudian gunakan sebagai model reguler:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
Llama 3.1 405b di Vertex AI Model Garden
Pertama, Anda harus mengaktifkan Llama 3.1 API Service di Vertex AI Model Garden.
Berikut adalah contoh konfigurasi untuk Llama 3.1 405b di plugin Vertex AI:
import { vertexAI, llama3 } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGarden: {
models: [llama3],
},
}),
],
});
Kemudian gunakan sebagai model reguler:
const llmResponse = await generate({
model: llama3,
prompt: 'Write a function that adds two numbers together',
});
Evaluator
Untuk menggunakan evaluator dari Vertex AI Rapid Evaluation, tambahkan blok evaluation
ke konfigurasi plugin vertexAI
Anda.
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',
},
},
],
},
}),
],
// ...
});
Konfigurasi di atas menambahkan evaluator untuk metrik Safety
dan ROUGE
. Contoh ini menunjukkan dua pendekatan - metrik Safety
menggunakan spesifikasi default, sedangkan metrik ROUGE
memberikan spesifikasi yang disesuaikan yang menetapkan jenis rouge ke rougeLsum
.
Kedua evaluator dapat dijalankan menggunakan perintah genkit eval:run
dengan set data yang kompatibel: yaitu set data dengan kolom output
dan reference
. Evaluator Safety
juga dapat dijalankan menggunakan perintah genkit eval:flow -e vertexai/safety
karena hanya memerlukan output
.