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

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

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

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

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

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

מפרט של Vector Assist

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

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

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

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

המלצות של Vector Assist

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

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

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

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

מגבלות

כשמשתמשים ב-Vector Assist עם מכונות AlloyDB, חשוב להביא בחשבון את המגבלות הבאות:

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

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