Plugin AI Generatif Google menyediakan antarmuka ke model Gemini Google melalui Gemini API.
Konfigurasi
Untuk menggunakan plugin ini, impor paket googleai
dan panggil googleai.Init()
:
import "github.com/firebase/genkit/go/plugins/googleai"
if err := googleai.Init(ctx, nil); err != nil {
return err
}
Plugin ini memerlukan kunci API untuk Gemini API, yang dapat Anda peroleh dari Google AI Studio.
Konfigurasikan plugin untuk menggunakan kunci API Anda dengan melakukan salah satu hal berikut:
Tetapkan variabel lingkungan
GOOGLE_GENAI_API_KEY
ke kunci API Anda.Tentukan kunci API saat Anda menginisialisasi plugin:
if err := googleai.Init(ctx, &googleai.Config{APIKey: yourKey}); err != nil { return err }
Namun, jangan sematkan kunci API Anda secara langsung di dalam kode. Gunakan fitur ini saja bersama dengan layanan seperti Cloud Secret Manager atau yang serupa.
Penggunaan
Model generatif
Untuk mendapatkan referensi ke model yang didukung, tentukan ID-nya:
model := googleai.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 Google AI:
text, err := ai.GenerateText(ctx, model, 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 := googleai.Embedder("text-embedding-004")
Berikut ini adalah model yang didukung: text-embedding-004
dan embedding-001
.
Referensi embedder memiliki metode Embed()
yang memanggil API Google 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.