ปลั๊กอิน Google Generative AI

ปลั๊กอิน Google Generative AI มอบอินเทอร์เฟซของโมเดล Gemini ของ Google ผ่าน Gemini API

การกำหนดค่า

หากต้องการใช้ปลั๊กอินนี้ ให้นำเข้าแพ็กเกจ googleai และเรียกใช้ googleai.Init()

import "github.com/firebase/genkit/go/plugins/googleai"
if err := googleai.Init(ctx, nil); err != nil {
	return err
}

ปลั๊กอินต้องใช้คีย์ API สำหรับ Gemini 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 หรือบริการอื่นๆ ที่คล้ายกัน

การใช้งาน

โมเดล Generative

หากต้องการการอ้างอิงไปยังโมเดลที่รองรับ ให้ระบุตัวระบุของโมเดลนั้น:

model := googleai.Model("gemini-1.5-flash")

รุ่นที่รองรับ ได้แก่ gemini-1.0-pro, gemini-1.5-pro และ gemini-1.5-flash

การอ้างอิงโมเดลมีเมธอด Generate() ที่เรียกใช้ Google AI API:

text, err := ai.GenerateText(ctx, model, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
	return err
}

ดูการสร้างเนื้อหาสำหรับข้อมูลเพิ่มเติม

การฝังโมเดล

หากต้องการการอ้างอิงไปยังโมเดลการฝังที่สนับสนุน ให้ระบุตัวระบุของโมเดลนั้น:

embeddingModel := googleai.Embedder("text-embedding-004")

รุ่นที่รองรับ ได้แก่ text-embedding-004 และ embedding-001

การอ้างอิงของเครื่องมือฝังมีเมธอด Embed() ที่เรียกใช้ AI API ของ Google:

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)