Plugin Vertex AI menyediakan antarmuka ke beberapa model AI generatif Google melalui Vertex AI API.
Persyaratan
Jika ingin menjalankan alur yang menggunakan plugin ini secara lokal, Anda memerlukan Google Cloud CLI tool.
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 project Google Cloud Anda memiliki kredensial yang lengkap.
Secara default,
vertexai.Init()
mendapatkan ID project 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 Vertex AI API 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 Aplikasi Google Cloud Kredensial Default.
Untuk menentukan kredensial Anda:
Jika Anda menjalankan alur dari lingkungan Google Cloud (Cloud Functions, Cloud Run, dan sebagainya), hal ini diatur secara otomatis.
Di lingkungan pengembangan lokal Anda, lakukan ini dengan menjalankan:
gcloud auth application-default login
- Untuk lingkungan lainnya, lihat Kredensial Default Aplikasi dokumen.
Selain itu, pastikan akun diberi peran Vertex AI User IAM (
roles/aiplatform.user
). Lihat kontrol akses Vertex AI dokumen.
Penggunaan
Model generatif
Untuk mendapatkan referensi ke model yang didukung, tentukan ID-nya:
langModel := vertexai.Model("gemini-1.5-pro")
Model berikut didukung: gemini-1.0-pro
, gemini-1.5-pro
, dan
gemini-1.5-flash
.
Referensi model memiliki metode Generate()
yang memanggil Vertex AI API:
genRes, err := langModel.Generate(ctx, ai.NewGenerateRequest(
nil, ai.NewUserTextMessage("Tell me a joke.")), nil)
if err != nil {
return err
}
Lihat Membuat konten untuk informasi selengkapnya.
Model penyematan
Untuk mendapatkan referensi ke model penyematan yang didukung, tentukan ID-nya:
embeddingModel := vertexai.Embedder("text-embedding-004")
Model berikut didukung: textembedding-gecko@003
,
textembedding-gecko@002
, textembedding-gecko@001
, text-embedding-004
,
textembedding-gecko-multilingual@001
, text-multilingual-embedding-002
, dan
multimodalembedding
.
Referensi penyemat memiliki metode Embed()
yang memanggil Vertex AI API:
embedRes, err := embeddingModel.Embed(ctx, &ai.EmbedRequest{
Documents: []*ai.Document{ai.DocumentFromText(userInput, nil)},
})
if err != nil {
return err
}
Anda juga dapat meneruskan Embedder ke metode Index()
pengindeks dan metode retriever
Metode Retrieve()
:
if err := myIndexer.Index(ctx, &ai.IndexerRequest{Documents: docsToIndex}); err != nil {
return err
}
retrieveRes, err := myRetriever.Retrieve(ctx, &ai.RetrieverRequest{
Document: ai.DocumentFromText(userInput, nil),
})
if err != nil {
return err
}
Lihat Retrieval-augmented generation (RAG) untuk mengetahui informasi selengkapnya.