Google 生成式 AI 外掛程式為 Google 的 Gemini 模型提供介面 透過 Gemini API。
設定
如要使用這個外掛程式,請匯入 googleai
套件並呼叫 googleai.Init()
:
import "github.com/firebase/genkit/go/plugins/googleai"
if err := googleai.Init(ctx, nil); err != nil {
return err
}
外掛程式需要 Gemini API 的 API 金鑰,您可以從中取得 Google AI Studio。
採取下列任一做法,設定外掛程式以使用 API 金鑰:
將
GOOGLE_GENAI_API_KEY
環境變數設為 API 金鑰。請在初始化外掛程式時指定 API 金鑰:
if err := googleai.Init(ctx, &googleai.Config{APIKey: yourKey}); err != nil { return err }
不過,請勿直接在程式碼中嵌入 API 金鑰!僅使用這項功能 搭配 Cloud Secret Manager 或類似服務
用量
生成模型
如要取得支援模型的參照,請指定模型 ID:
model := googleai.Model("gemini-1.5-flash")
支援下列模型:gemini-1.0-pro
、gemini-1.5-pro
和
gemini-1.5-flash
。
模型參照具有呼叫 Google AI API 的 Generate()
方法:
text, err := ai.GenerateText(ctx, model, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
詳情請參閱產生內容。
嵌入模型
如要取得支援嵌入模型的參照,請指定模型 ID:
embeddingModel := googleai.Embedder("text-embedding-004")
支援下列模型:text-embedding-004
和 embedding-001
。
嵌入器參照具有呼叫 Google 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) 一文。