Vector assist הוא תוסף ל-Cloud SQL ל-PostgreSQL שמפשט את הפריסה והניהול של עומסי העבודה של וקטורים ב-Cloud SQL. הוא מספק מסגרת SQL דקלרטיבית שעוזרת להגדיר יכולות חיפוש וקטורי שמוכנות לייצור, כמו יצירת הטמעה, אופטימיזציה של שאילתות ויצירת אינדקסים. המסגרת הזו מפשטת את עומסי העבודה של הווקטורים באמצעות:
- פישוט ההצהרה על כוונות: דרישות (כמו טבלה, עמודת טקסט או היזכרות ביעד) מוצהרות באמצעות פונקציות SQL.
- אוטומציה של שיטות מומלצות: יצירת פקודות SQL שעברו אופטימיזציה, שנקראות גם המלצות, כדי להגדיר את עומס העבודה של הווקטורים באמצעות מפרט הווקטורים שהגדרתם ואלגוריתם אופטימלי של כוונון אוטומטי שמחשב את הגדרת האינדקס האופטימלית.
- שקיפות ושליטה: ההסברים לכל המלצה ברורים, והאוטומציה של המשימות מאפשרת לכם לבדוק, לשנות וליישם את ההמלצות בקצב שלכם.
- הפעלת אב טיפוס מהיר: מאפשרת לפרוס במהירות הגדרה של חיפוש וקטורי מותאם, וכך לקצר את הזמן מרגע הרעיון ועד לייצור.
- התמקדות בנוחות השימוש: מפשטת את המורכבות של חיפוש סמנטי, ומגשרת על הפער בין הדרישות העסקיות וההנדסיות.
בעזרת התכונה 'סיוע וקטורי', אתם יכולים ליצור אפליקציות מקצה לקצה עם תכונות של חיפוש סמנטי, בהגדרה פשוטה.
איך פועל העזר הווקטורי
כדי להשתמש בעזרה בווקטורים, צריך להגדיר את מפרטי הווקטורים. המסגרת משתמשת במפרטים האלה של וקטורים, שנקראים גם מפרט וקטורי, כדי ליצור את השלבים שנדרשים ליצירת אינדקס וקטורי. הפלט של Vector Assist הוא המלצות עם השלבים הנדרשים לפריסת עומס העבודה של הווקטור. בכל פעם שמשנים את מפרט הווקטור, התכונה 'עזרה בווקטורים' יוצרת מחדש את ההמלצות.
אחרי שיוצרים את אינדקס הווקטור באמצעות השלבים המומלצים האלה, אפשר להשתמש בתכונה 'עזרה בווקטורים' כדי ליצור שאילתות חיפוש שעברו אופטימיזציה.
מפרט של עזרה בווקטורים
הגדרת מפרט אינדקס הווקטורים, או מפרט הווקטורים, היא השלב הראשון בשימוש בעזרה בווקטורים. מפרט וקטור הוא אובייקט שבו מגדירים את הכוונה והדרישות של עומס העבודה הווקטורי. היא כוללת את כל המידע הדרוש, כולל:
- הטבלאות והעמודות הרלוונטיות (טקסט או וקטור)
- העדפות של מודל הטמעה (אם משתמשים ביצירת הטמעה)
- סוג אינדקס מועדף, למשל
HNSWאוIVFFlat. - שיפור יכולת השליפה של מידע בשאילתות חיפוש
- מגבלות זיכרון או מגבלות אחרות על הביצועים
אתם מגדירים את מפרט הווקטור באמצעות הפונקציה vector_assist.define_spec, ותמיד תוכלו לשנות אותו. המערכת מקצה לכל מפרט מזהה ייחודי ושומרת אותו בטבלה שנקראת vector_assist.vector_specs.
התכונה Vector assist מסיקה את נתוני הקלט של המפרט ואלגוריתם אופטימלי של כוונון אוטומטי שמחשב את הגדרת האינדקס האופטימלית. הכלי 'סיוע וקטורי' משתמש בערכים האלה כדי לפשט את תהליך הפיתוח, אבל אתם עדיין יכולים להתאים אותם להעדפות שלכם.
המלצות של Vector Assist
אחרי שמגדירים את מפרט הווקטור, התכונה 'עזרה בווקטורים' מעבדת את הקלט ומפיקה המלצות. ההמלצות האלה הן רשימה מסודרת של שלבים שימושיים, בדרך כלל פקודות SQL, שצריך לבצע כדי לפרוס את עומס העבודה של הווקטור בהתאם למפרט שלכם. כל המלצה כוללת:
- שאילתת ה-SQL להרצה.
- הסבר מפורט על הפעולה של השאילתה ועל הסיבה להמלצה עליה.
- מידע על פשרות או עלויות פוטנציאליות, כמו גודל משוער של האינדקס או משך זמן של תהליך build.
ההמלצות של Vector Assist נשמרות בטבלה שנקראת
vector_assist.recommendation, ואפשר לבדוק, לשנות וליישם אותן בנפרד או כקבוצה.
בכל פעם שמשנים את מפרט הווקטור של עומס העבודה, התכונה 'עזרה בווקטורים' יוצרת מחדש את ההמלצות כדי להתאים למפרטים המעודכנים.
מגבלות
כשמשתמשים בעזרה וקטורית עם מופעי Cloud SQL ל-PostgreSQL, צריך לקחת בחשבון את המגבלות הבאות:
- התכונה 'סיוע בווקטורים' תומכת רק ב-PostgreSQL בגרסה 12 ואילך.
- למרות שתכונת העזרה הווקטורית תומכת בכל הגרסאות של
pgvector, מומלץ להשתמש בגרסה העדכנית ביותר כדי לקבל ביצועים אופטימליים ותמיכה בתכונות. מידע נוסף זמין בpgvectorיומן השינויים. - אם המופע שלכם משתמש בתוסף
google_ml_integrationכדי ליצור הטבעות, ההגבלות שלו חלות גם כשמשתמשים בעזרה וקטורית. מידע נוסף זמין במאמר סקירה כללית על ניהול נקודות קצה של מודלים. - התכונה 'סיוע וקטורי' תומכת רק בסוגי האינדקסים
HNSWו-IVFFlat. - התכונה 'סיוע וקטורי' תומכת רק במודלים של הטמעת טקסט ליצירה אוטומטית של הטמעות, והיא משתמשת ב-
text_column_nameכפרמטר הקלט. אם עומס העבודה של הווקטורים דורש מודל הטמעה מולטי-מודאלי, צריך להשתמש בתוסףgoogle_ml_integrationאו בתוסף אחר כדי ליצור את ההטמעות האלה באופן ידני לפני שמשתמשים בעזרה בווקטורים כדי להפעיל חיפוש סמנטי בהטמעות האלה.