Wtyczka Vertex AI udostępnia interfejsy do kilku modeli generatywnej AI od Google. za pomocą interfejsu Vertex AI API.
Wymagania
Jeśli chcesz lokalnie uruchamiać przepływy korzystające z tej wtyczki, potrzebujesz Zainstalowano narzędzie wiersza poleceń Google Cloud.
Konfiguracja
Aby użyć tej wtyczki, zaimportuj pakiet vertexai
i wywołaj vertexai.Init()
:
import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
return err
}
Wtyczka wymaga podania identyfikatora projektu Google Cloud, region [region] do których chcesz wysyłać żądania do interfejsu Vertex API, a Twój projekt Google Cloud dane logowania.
Domyślnie
vertexai.Init()
pobiera identyfikator projektu Google Cloud z Zmienna środowiskowaGCLOUD_PROJECT
.Możesz też przekazać tę wartość bezpośrednio:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
Domyślnie
vertexai.Init()
pobiera lokalizację interfejsu Vertex AI API z Zmienna środowiskowaGCLOUD_LOCATION
.Możesz też przekazać tę wartość bezpośrednio:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
Aby podać dane logowania do interfejsu API, musisz skonfigurować aplikację Google Cloud Domyślne dane logowania.
Aby podać dane logowania:
Jeśli uruchamiasz przepływ ze środowiska Google Cloud (Cloud Functions, Cloud Run itd.), to ustawienie jest ustawiane automatycznie.
W lokalnym środowisku programistycznym uruchom to polecenie:
gcloud auth application-default login
- W przypadku innych środowisk zapoznaj się z sekcją Domyślne dane logowania aplikacji. dokumenty.
Sprawdź też, czy do konta została przypisana rola użytkownika Vertex AI (
roles/aiplatform.user
). Zobacz kontrolę dostępu Vertex AI dokumenty.
Wykorzystanie
Modele generatywne
Aby uzyskać odniesienie do obsługiwanego modelu, podaj jego identyfikator:
langModel := vertexai.Model("gemini-1.5-flash")
Obsługiwane są te modele: gemini-1.0-pro
, gemini-1.5-pro
i
gemini-1.5-flash
Odwołania do modelu zawierają metodę Generate()
, która wywołuje interfejs Vertex AI API:
genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
Więcej informacji znajdziesz w artykule Generowanie treści.
Umieszczanie modeli
Aby uzyskać odwołanie do obsługiwanego modelu wektora dystrybucyjnego, podaj jego identyfikator:
embeddingModel := vertexai.Embedder("text-embedding-004")
Obsługiwane są te modele: textembedding-gecko@003
,
textembedding-gecko@002
, textembedding-gecko@001
, text-embedding-004
,
textembedding-gecko-multilingual@001
, text-multilingual-embedding-002
i
multimodalembedding
Odwołania do umieszczania na stronie zawierają metodę Embed()
, która wywołuje interfejs Vertex AI API:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
Element Embedder można również przekazać do metody Index()
indeksującego i metody retrievera
Metoda Retrieve()
:
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
}
Więcej informacji znajdziesz w artykule Generowanie rozszerzone przez wyszukiwanie w zapisanych informacjach (RAG).