סקירה כללית על סיוע וקטורי

‫Vector assist הוא תוסף ל-AlloyDB ל-PostgreSQL שמספק מסגרת SQL הצהרתית לפריסה ולניהול של עומסי עבודה של חיפוש וקטורי. במקום להגדיר באופן ידני את יצירת ההטמעה, את הפרמטרים של האינדקס ואת כוונון השאילתות, אתם מצהירים על הדרישות של עומס העבודה באמצעות פונקציות SQL, כמו טבלת היעד, עמודת טקסט המקור ויעד ה-recall.

על סמך מפרט הווקטור, הכלי "עזרה עם וקטורים" משתמש באלגוריתם של כוונון אוטומטי כדי ליצור המלצות ל-SQL שעבר אופטימיזציה, עם הסברים שאפשר לבדוק, לשנות ולהחיל. תהליך העבודה הזה עוזר לכם ליצור אב טיפוס ולפרוס אפליקציות של חיפוש סמנטי שמוכנות לייצור, עם הגדרה ידנית מינימלית.

איך פועל כלי העזר לווקטורים

כדי להשתמש בעזרה בווקטורים, צריך להגדיר את המפרטים של הווקטורים. המסגרת משתמשת במפרטים האלה של וקטורים, שנקראים גם מפרט וקטורי, כדי ליצור את השלבים שנדרשים ליצירת אינדקס וקטורי. הכלי Vector Assist מציג את השלבים הנדרשים לפריסת עומס העבודה של הווקטורים כהמלצות. בכל פעם שתשנו את מפרט הווקטור, התכונה 'עזרה בווקטורים' תיצור מחדש את ההמלצות.

אחרי שיוצרים את אינדקס הווקטור באמצעות השלבים המומלצים האלה, אפשר להשתמש בעזרה בווקטורים כדי ליצור שאילתות חיפוש שעברו אופטימיזציה.

מפרט של Vector Assist

הגדרת המפרט של אינדקס הווקטורים, או המפרט הווקטורי, היא השלב הראשון בשימוש ב-Vector Assist. מפרט וקטורי הוא אובייקט שבו מגדירים את הכוונה והדרישות של עומס העבודה הווקטורי. היא כוללת את כל המידע הנדרש, כולל:

  • טבלאות ועמודות רלוונטיות (טקסט או וקטור)
  • העדפות לגבי מודל ההטמעה (אם משתמשים ביצירת הטמעות)
  • סוג האינדקס המועדף: HNSW או IVFFlat. אין תמיכה ב-ScaNN.
  • החזרת תוצאות רלוונטיות לשאילתות חיפוש
  • מגבלות הזיכרון

אתם מגדירים את המפרט הווקטורי באמצעות הפונקציה vector_assist.define_spec, ואתם יכולים לשנות אותו בכל שלב. המערכת מקצה לכל מפרט מזהה ייחודי ושומרת אותו בטבלה שנקראת vector_assist.VECTOR_SPECS.

התכונה Vector assist מסיקה את נתוני הקלט של המפרט ואלגוריתם אופטימלי של כוונון אוטומטי שמחשב את ההגדרה האופטימלית של האינדקס. למרות ש-Vector Assist משתמש בערכים האלה כדי לפשט את תהליך הפיתוח, אתם עדיין יכולים להתאים אותם אישית לפי ההעדפות שלכם.

המלצות של Vector Assist

אחרי שמגדירים את מפרט הווקטור, התכונה 'סיוע בווקטורים' מעבדת את הקלט ומפיקה המלצות. ההמלצות האלה הן רשימה מסודרת של שלבים שימושיים, בדרך כלל פקודות SQL, שצריך לבצע כדי לפרוס את עומס העבודה של הווקטור בהתאם למפרט שלכם. כל המלצה כוללת את הפרטים הבאים:

  • שאילתת ה-SQL שרוצים להריץ.
  • הסבר מפורט על הפעולה של השאילתה ועל הסיבה להמלצה עליה.
  • מידע על פשרות או עלויות פוטנציאליות, כמו גודל משוער של אינדקס או משך זמן של תהליך build.

ההמלצות של Vector assist נשמרות בטבלה שנקראת vector_assist.RECOMMENDATIONS, ואפשר לבדוק, לשנות וליישם אותן בנפרד או כקבוצה.

בכל פעם שמשנים את המפרט הווקטורי של עומס העבודה, Vector Assist יוצר מחדש את ההמלצות בהתאם למפרט המעודכן.

מגבלות

כשמשתמשים בעזרה וקטורית עם מופעי AlloyDB, חשוב להביא בחשבון את המגבלות הבאות:

  • ‫Vector Assist תומך רק בגרסאות 17 ואילך של PostgreSQL.
  • אף על פי שעזרה בווקטור תומכת בכל הגרסאות של pgvector, מומלץ להשתמש בגרסה העדכנית ביותר כדי לקבל ביצועים אופטימליים ותמיכה בתכונות. מידע נוסף זמין ביומן השינויים של pgvector.
  • אם המכונה משתמשת בתוסף google_ml_integration כדי ליצור הטמעות, ההגבלות שלו חלות גם כשמשתמשים ב-Vector Assist. מידע נוסף זמין במאמר סקירה כללית על רישום וקריאה למודלים של AI מרוחקים ב-AlloyDB.
  • התכונה 'סיוע וקטורי' תומכת רק בסוגי אינדקסים HNSW ו-IVFFlat. אין תמיכה בסוגי אינדקסים של ScaNN.
  • התכונה 'סיוע וקטורי' תומכת רק במודלים של הטמעת טקסט ליצירה אוטומטית של הטמעות, והיא משתמשת בפרמטר הקלט text_column_name. אם עומס העבודה של הווקטורים דורש מודל הטמעה מולטי-מודאלי, צריך להשתמש בתוסף google_ml_integration או בתוסף אחר כדי ליצור את ההטמעות האלה באופן ידני, ואז להשתמש ב-Vector Assist כדי להפעיל חיפוש סמנטי בהטמעות האלה.

המאמרים הבאים