Plugin Vertex AI menyediakan antarmuka ke beberapa model AI generatif Google melalui Vertex AI API.
Persyaratan
Jika ingin menjalankan flow yang menggunakan plugin ini secara lokal, Anda perlu menginstal alat Google Cloud CLI.
Konfigurasi
Untuk menggunakan plugin ini, impor paket vertexai
dan panggil vertexai.Init()
:
import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
return err
}
Plugin ini mengharuskan Anda menentukan project ID Google Cloud, region tempat Anda ingin membuat permintaan Vertex API, dan kredensial project Google Cloud Anda.
Secara default,
vertexai.Init()
mendapatkan project ID Google Cloud Anda dari variabel lingkunganGCLOUD_PROJECT
.Anda juga dapat meneruskan nilai ini secara langsung:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
Secara default,
vertexai.Init()
mendapatkan lokasi API Vertex AI dari variabel lingkunganGCLOUD_LOCATION
.Anda juga dapat meneruskan nilai ini secara langsung:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
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 generatif
Untuk mendapatkan referensi ke model yang didukung, tentukan ID-nya:
langModel := vertexai.Model("gemini-1.5-flash")
Berikut ini adalah model yang didukung: gemini-1.0-pro
, gemini-1.5-pro
, dan
gemini-1.5-flash
.
Referensi model memiliki metode Generate()
yang memanggil API Vertex AI:
genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
Lihat Membuat konten untuk mengetahui informasi selengkapnya.
Model embedding
Untuk mendapatkan referensi ke model embedding yang didukung, tentukan ID-nya:
embeddingModel := vertexai.Embedder("text-embedding-004")
Berikut ini adalah model yang didukung: textembedding-gecko@003
,
textembedding-gecko@002
, textembedding-gecko@001
, text-embedding-004
,
textembedding-gecko-multilingual@001
, text-multilingual-embedding-002
, dan
multimodalembedding
.
Referensi embedder memiliki metode Embed()
yang memanggil API Vertex AI:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
Anda juga dapat meneruskan Embedder ke metode Index()
indexer dan
metode Retrieve()
retriever:
if err := ai.Index(ctx, myIndexer, ai.WithIndexerDocs(docsToIndex...)); err != nil {
return err
}
retrieveRes, err := ai.Retrieve(ctx, myRetriever, ai.WithRetrieverText(userInput))
if err != nil {
return err
}
Lihat Retrieval-augmented generation (RAG) untuk mengetahui informasi selengkapnya.