Google 生成式 AI 外掛程式

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-progemini-1.5-progemini-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-004embedding-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) 一文。