Das Vertex AI-Plug-in bietet über die Vertex AI API Schnittstellen zu mehreren generativen KI-Modellen von Google.
Voraussetzungen
Wenn Sie Abläufe, die dieses Plug-in verwenden, lokal ausführen möchten, muss das Google Cloud CLI-Tool installiert sein.
Konfiguration
Importieren Sie das Paket vertexai
und rufen Sie vertexai.Init()
auf, um dieses Plug-in zu verwenden:
import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
return err
}
Sie müssen die Google Cloud-Projekt-ID, die Region, an die Vertex API-Anfragen gesendet werden sollen, und die Anmeldedaten für Ihr Google Cloud-Projekt angeben.
Standardmäßig wird die Google Cloud-Projekt-ID von
vertexai.Init()
aus der UmgebungsvariablenGCLOUD_PROJECT
abgerufen.Du kannst diesen Wert auch direkt übergeben:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
Standardmäßig ruft
vertexai.Init()
den Vertex AI API-Standort aus der UmgebungsvariableGCLOUD_LOCATION
ab.Du kannst diesen Wert auch direkt übergeben:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
Wenn Sie API-Anmeldedaten angeben möchten, müssen Sie Standardanmeldedaten für Google Cloud-Anwendungen einrichten.
So geben Sie Ihre Anmeldedaten an:
Wenn Sie Ihren Ablauf in einer Google Cloud-Umgebung (z. B. Cloud Functions oder Cloud Run) ausführen, wird dies automatisch festgelegt.
Führen Sie dazu in Ihrer lokalen Entwicklungsumgebung Folgendes aus:
gcloud auth application-default login
- Informationen zu anderen Umgebungen finden Sie in der Dokumentation zu Standardanmeldedaten für Anwendungen.
Außerdem muss dem Konto die IAM-Rolle „Vertex AI-Nutzer“ (
roles/aiplatform.user
) zugewiesen sein. Weitere Informationen finden Sie in der Vertex AI-Dokumentation zur Zugriffssteuerung.
Nutzung
Generative Modelle
Geben Sie die Kennzeichnung eines unterstützten Modells an, um einen Verweis darauf zu erhalten:
langModel := vertexai.Model("gemini-1.5-flash")
Die folgenden Modelle werden unterstützt: gemini-1.0-pro
, gemini-1.5-pro
und gemini-1.5-flash
.
Modellverweise haben eine Generate()
-Methode, die die Vertex AI API aufruft:
genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
Weitere Informationen finden Sie unter Inhalte generieren.
Einbettungsmodelle
Geben Sie die Kennung eines unterstützten Einbettungsmodells an, um einen Verweis darauf zu erhalten:
embeddingModel := vertexai.Embedder("text-embedding-004")
Die folgenden Modelle werden unterstützt: textembedding-gecko@003
, textembedding-gecko@002
, textembedding-gecko@001
, text-embedding-004
, textembedding-gecko-multilingual@001
, text-multilingual-embedding-002
und multimodalembedding
.
Einbettungsreferenzen haben eine Embed()
-Methode, die die Vertex AI API aufruft:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
Sie können einen Embedder auch an die Index()
-Methode eines Indexers und die Retrieve()
-Methode eines Retrievers übergeben:
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
}
Weitere Informationen finden Sie unter Retrieval-Augmented Generation (RAG).