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 [地区] 您的 Google Cloud 项目 凭据。
默认情况下,
vertexai.Init()
会从GCLOUD_PROJECT
环境变量。您也可以直接传递此值:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
默认情况下,
vertexai.Init()
会从GCLOUD_LOCATION
环境变量。您也可以直接传递此值:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
如需提供 API 凭据,您需要设置 Google Cloud 应用 默认凭据。
用法
生成模型
如需获取对受支持模型的引用,请指定其标识符:
langModel := vertexai.Model("gemini-1.5-pro")
支持以下模型:gemini-1.0-pro
、gemini-1.5-pro
和
gemini-1.5-flash
.
模型引用具有调用 Vertex AI API 的 Generate()
方法:
genRes, err := langModel.Generate(ctx, ai.NewGenerateRequest(
nil, ai.NewUserTextMessage("Tell me a joke.")), nil)
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 := embeddingModel.Embed(ctx, &ai.EmbedRequest{
Documents: []*ai.Document{ai.DocumentFromText(userInput, nil)},
})
if err != nil {
return err
}
您还可以将 Embedder 传递给索引器的 Index()
方法和检索器的
Retrieve()
方法:
if err := myIndexer.Index(ctx, &ai.IndexerRequest{Documents: docsToIndex}); err != nil {
return err
}
retrieveRes, err := myRetriever.Retrieve(ctx, &ai.RetrieverRequest{
Document: ai.DocumentFromText(userInput, nil),
})
if err != nil {
return err
}
如需了解详情,请参阅检索增强生成 (RAG)。