ปลั๊กอิน 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)