Vertex AI 外掛程式提供多種 Google 生成式 AI 模型的介面 透過 Vertex AI API
需求條件
如要在本機執行使用此外掛程式的流程,需要 已安裝 Google Cloud CLI 工具。
設定
如要使用這個外掛程式,請匯入 vertexai
套件並呼叫 vertexai.Init()
:
import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
return err
}
外掛程式會要求您指定 Google Cloud 專案 ID,以及 region [區域] 以及要傳送 Vertex API 要求的 Google Cloud 專案 憑證
根據預設,
vertexai.Init()
會從GCLOUD_PROJECT
環境變數。您也可以直接傳送這個值:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
根據預設,
vertexai.Init()
會從以下項目取得 Vertex AI API 位置:GCLOUD_LOCATION
環境變數。您也可以直接傳送這個值:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
如要提供 API 憑證,您必須設定 Google Cloud 應用程式 。
用量
生成模型
如要取得支援模型的參照,請指定模型 ID:
langModel := vertexai.Model("gemini-1.5-flash")
支援下列模型:gemini-1.0-pro
、gemini-1.5-pro
和
gemini-1.5-flash
。
模型參照具有呼叫 Vertex AI API 的 Generate()
方法:
genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
詳情請參閱產生內容。
嵌入模型
如要取得支援嵌入模型的參照,請指定模型 ID:
embeddingModel := vertexai.Embedder("text-embedding-004")
支援下列模型:textembedding-gecko@003
、
textembedding-gecko@002
、textembedding-gecko@001
、text-embedding-004
、
textembedding-gecko-multilingual@001
、text-multilingual-embedding-002
和
multimodalembedding
。
嵌入器參照具有呼叫 Vertex AI API 的 Embed()
方法:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
您也可以將嵌入程式傳遞至索引器的 Index()
方法和擷取器的
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
}
詳情請參閱擷取評估生成 (RAG) 一文。