ปลั๊กอิน Vertex AI ให้อินเทอร์เฟซกับโมเดล Generative AI ของ Google หลายโมเดล ผ่าน 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 ภูมิภาค [region] ที่คุณต้องการส่งคำขอ Vertex API และโปรเจ็กต์ Google Cloud ข้อมูลเข้าสู่ระบบ
โดยค่าเริ่มต้น
vertexai.Init()
จะได้รับรหัสโปรเจ็กต์ Google Cloud จาก ตัวแปรสภาพแวดล้อมGCLOUD_PROJECT
นอกจากนี้คุณยังส่งผ่านค่านี้โดยตรงได้โดยทำดังนี้
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
โดยค่าเริ่มต้น
vertexai.Init()
จะได้รับตำแหน่ง Vertex AI API จาก ตัวแปรสภาพแวดล้อมGCLOUD_LOCATION
นอกจากนี้คุณยังส่งผ่านค่านี้โดยตรงได้โดยทำดังนี้
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
หากต้องการระบุข้อมูลเข้าสู่ระบบ API คุณต้องตั้งค่าแอปพลิเคชัน Google Cloud ข้อมูลเข้าสู่ระบบเริ่มต้น
วิธีระบุข้อมูลเข้าสู่ระบบ
หากเรียกใช้โฟลว์จากสภาพแวดล้อม Google Cloud (Cloud) ฟังก์ชัน, Cloud Run เป็นต้น) โดยระบบจะตั้งค่านี้โดยอัตโนมัติ
ในสภาพแวดล้อมสำหรับนักพัฒนาแอปภายในของคุณ ให้เรียกใช้คำสั่งต่อไปนี้ด้วยการเรียกใช้
gcloud auth application-default login
- สำหรับสภาพแวดล้อมอื่นๆ โปรดดูข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน เอกสาร
นอกจากนี้ ให้ตรวจสอบว่าบัญชีได้รับบทบาท IAM ของผู้ใช้ Vertex AI (
roles/aiplatform.user
) ดูการควบคุมการเข้าถึง Vertex AI เอกสาร
การใช้งาน
โมเดล Generative
หากต้องการการอ้างอิงไปยังโมเดลที่รองรับ ให้ระบุตัวระบุของโมเดลนั้น:
langModel := vertexai.Model("gemini-1.5-flash")
รุ่นที่รองรับ ได้แก่ gemini-1.0-pro
, gemini-1.5-pro
และ
gemini-1.5-flash
การอ้างอิงโมเดลมีเมธอด Generate()
ที่เรียกใช้ Vertex AI API:
genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
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
การอ้างอิงของเครื่องมือฝังมีเมธอด Embed()
ที่เรียกใช้ Vertex AI API:
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)