הפלאגין של Vertex AI מספק ממשקים לכמה מודלים של 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, את האזור שאליו רוצים לשלוח בקשות ל-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, צריך להגדיר את Application Default Credentials של Google Cloud.
כדי לציין את פרטי הכניסה:
אם אתם מריצים את התהליך מסביבת Google Cloud (Cloud Functions, Cloud Run וכו'), ההגדרה הזו מוגדרת באופן אוטומטי.
בסביבת הפיתוח המקומית, מריצים את הפקודה הבאה:
gcloud auth application-default login
- לגבי סביבות אחרות, קראו את המסמכים של Application Default Credentials.
בנוסף, חשוב לוודא שלחשבון הוקצה תפקיד ה-IAM למשתמש ב-Vertex AI (
roles/aiplatform.user
). עיינו במסמכי בקרת הגישה של Vertex AI.
שימוש
Generative models
כדי לקבל הפניה למודל נתמך, מציינים את המזהה שלו:
langModel := vertexai.Model("gemini-1.5-flash")
הדגמים הנתמכים הם: gemini-1.0-pro
, gemini-1.5-pro
ו-gemini-1.5-flash
.
למפנה למודל יש method 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
.
להפניות של מוטמעים יש method Embed()
שמפעיל את Vertex AI API:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
אפשר גם להעביר Embedder ל-method 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).