Vertex AI 插件通过 Vertex AI API 提供多个 Google 生成式 AI 模型的接口。
要求
如果您想在本地运行使用此插件的 flow,则需要安装 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、要向其发出 Vertex API 请求的区域,以及 Google Cloud 项目凭据。
默认情况下,
vertexai.Init()
会从GCLOUD_PROJECT
环境变量获取 Google Cloud 项目 ID。您也可以直接传递此值:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
默认情况下,
vertexai.Init()
会从GCLOUD_LOCATION
环境变量获取 Vertex AI API 位置。您也可以直接传递此值:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
如需提供 API 凭据,您需要设置 Google Cloud 应用默认凭据。
用法
生成模型
如需获取对受支持模型的引用,请指定其标识符:
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
}
如需了解详情,请参阅生成内容。
嵌入模型
如需获取对受支持嵌入模型的引用,请指定其标识符:
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)。