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 penyematan teks Gecko
Vertex AI juga memberikan akses ke subkumpulan metrik evaluasi melalui Rapid Evaluation API Vertex AI.
- BLEU
- ROUGE
- Kelancaran
- Keamanan
- Permukaan tanah
- Kualitas Ringkasan
- Kegunaan Ringkasan
- Merangkum Panjang
Penginstalan
npm i --save @genkit-ai/vertexai
Jika ingin menjalankan alur yang menggunakan plugin ini secara lokal, Anda juga perlu menginstal alat Google Cloud CLI.
Konfigurasi
Untuk menggunakan plugin ini, tentukan plugin ini 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 untuk menentukan project ID Google Cloud, region tempat Anda ingin membuat permintaan Vertex API, dan kredensial project Google Cloud Anda.
Anda dapat menentukan project ID Google Cloud dengan menetapkan
projectId
dalam konfigurasivertexAI()
atau dengan menetapkan variabel lingkunganGCLOUD_PROJECT
. Jika Anda menjalankan flow dari lingkungan Google Cloud (Cloud Functions, Cloud Run, dan sebagainya),GCLOUD_PROJECT
akan otomatis ditetapkan ke project ID lingkungan tersebut.Anda dapat menentukan lokasi API dengan menetapkan
location
dalam konfigurasivertexAI()
atau dengan menetapkan variabel lingkunganGCLOUD_LOCATION
.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), flow ini akan diatur secara otomatis.
Di lingkungan pengembangan lokal, lakukan hal ini dengan menjalankan:
gcloud auth application-default login
- Untuk lingkungan lainnya, lihat dokumen Kredensial Default Aplikasi.
Selain itu, pastikan akun tersebut diberi peran IAM Pengguna Vertex AI (
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 { geminiPro, geminiProVision, imagen2 } from '@genkit-ai/vertexai';
Anda dapat menggunakan referensi ini untuk menentukan model yang digunakan generate()
:
const llmResponse = await generate({
model: geminiPro,
prompt: 'What should I do when I visit Melbourne?',
});
Plugin ini juga secara statis mengekspor referensi ke model embedding teks Gecko:
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
Anda dapat menggunakan referensi ini untuk menentukan penyemat mana yang digunakan oleh pengindeks atau pengambilanr. 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?',
});
Claude 3 Anthropic di Model Garden Vertex AI
Jika Anda memiliki akses ke model Claude 3 (haiku, sonnet, atau opus) di Vertex AI Model Garden, Anda dapat menggunakannya dengan Genkit.
Berikut contoh konfigurasi untuk mengaktifkan model Garden Model Vertex AI:
import {
vertexAI,
claude3Haiku,
claude3Sonnet,
claude3Opus,
} from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
vertexAI({
location: 'us-central1',
modelGardenModels: [claude3Haiku, claude3Sonnet, claude3Opus],
}),
],
});
Kemudian gunakan sebagai model reguler:
const llmResponse = await generate({
model: claude3Sonnet,
prompt: 'What should I do when I visit Melbourne?',
});
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 tersebut menunjukkan dua pendekatan, yaitu 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
.