בדף הזה מוסבר איך להשתמש בעזרה בווקטורים כדי לפרוס ולנהל עומס עבודה של וקטורים במופע של Cloud SQL ל-PostgreSQL.
מידע נוסף על העזרה בווקטורים ועל אופן הפעולה שלה זמין במאמר סקירה כללית על העזרה בווקטורים.
לפני שמתחילים
- מוודאים שהמופע שלכם משתמש בגרסת התחזוקה הנכונה.
כדי להשתמש ב-Vector Assist נדרשת גרסת תחזוקה מינימלית מספר
PostgreSQL_$version.R20251004.01_07. מידע נוסף על ביצוע תחזוקה בשירות עצמי זמין במאמר תחזוקה בשירות עצמי לשיפור הביצועים. - מגדירים את הדגל
cloudsql.enable_vector_assistשל מסד הנתונים לערךON. מפעילים את התוסף vector assist באמצעות הפקודה הבאה במסד הנתונים שבו רוצים להשתמש:
CREATE EXTENSION vector_assist CASCADE;כך נוצרת סכימת
vector_assist, שמשמשת את העזרה הווקטורית.
שימוש בעזרה בווקטורים כדי לפרוס עומס עבודה של וקטורים
כדי להשתמש בעזרה וקטורית לפריסה ולניהול של עומס עבודה וקטורי, צריך לבצע את הפעולות הבאות:
הגדרת מפרט הווקטור
הגדרת מפרט הווקטור או מפרט הווקטור היא השלב הראשון בשימוש בעזרה בווקטורים. בהתאם לסוג עומס העבודה של הווקטור, השדות שבהם משתמשים כדי להגדיר את מפרט הווקטור עשויים להיות שונים.
לדוגמה, אם רוצים להפעיל חיפוש סמנטי בעמודה ספציפית בטבלה, מריצים את הפונקציה vector_assist.define_spec כדי להגדיר את מפרט הווקטור:
SELECT vector_assist.define_spec(
table_name => 'TABLE_NAME',
vector_column_name => 'VECTOR_COLUMN_NAME',
target_recall => TARGET_RECALL,
tune_vector_index => TUNE_INDEX
);
מחליפים את הפרמטרים הבאים:
- TABLE_NAME: השם של הטבלה שבה רוצים להשתמש בעומס העבודה של הווקטור.
- VECTOR_COLUMN_NAME: העמודה שרוצים לבצע בה חיפוש סמנטי.
- TARGET_RECALL: רמת הדיוק של השליפה שרוצים להשיג באמצעות העזרה של וקטורים.
- TUNE_INDEX: ערך בוליאני שמציין אם התכונה 'סיוע וקטורי' משפרת את אינדקסים הווקטוריים בעומס העבודה.
רשימה מלאה של כל הפרמטרים הזמינים של מפרט הווקטור מופיעה במאמר חומר עזר בנושא סיוע וקטורי.
אחרי שמריצים את השאילתה כדי ליצור את מפרט הווקטור, התכונה 'עזרה בווקטורים' יוצרת באופן אוטומטי שלבים שנקראים המלצות, שצריך להריץ כדי לפרוס את עומס העבודה של הווקטור.
צפייה בהמלצות של Vector Assist
כדי לראות את ההמלצות שנוצרו על ידי Vector Assist באמצעות מפרט הווקטורים, מריצים את הפונקציה vector_assist.get_recommendations:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
מחליפים את הפרמטרים הבאים:
- SPEC_ID: מזהה המפרט של מפרט הווקטור שרוצים להציג המלצות לגביו.
הפונקציה מחזירה טבלה בשם vector_assist.RECOMMENDATIONS שמכילה את כל ההמלצות. כל המלצה מאוחסנת בטבלה עם spec_id המשויך. כל המלצה בדרך כלל מכילה את שאילתת ה-SQL שצריך להריץ, הסבר מפורט על ההמלצה ומידע רלוונטי אחר שמסביר את ההמלצה.
איך מיישמים המלצות של Vector Assist
אפשר ליישם את ההמלצות שנוצרו בנפרד או את כולן יחד.
כדי ליישם המלצה ספציפית, מריצים את הפונקציה
vector_assist.apply_recommendation:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENATION_ID',
);
מחליפים את הפרמטרים הבאים:
- RECOMMENDATION_ID: המזהה של ההמלצה לשימוש בעזרה וקטורית שרוצים להחיל מתוך הטבלה
vector_assist.RECOMMENDATIONS.
כדי להחיל את כל ההמלצות יחד, מריצים את הפונקציה
vector_assist.apply_spec עם הפרמטר spec_id או table_name:
SELECT vector_assist.apply_spec(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME'
);
מחליפים את הפרמטרים הבאים:
- SPEC_ID: המזהה של מפרט הווקטור שרוצים להשתמש בו.
- TABLE_NAME: השם של הטבלה שבה השתמשתם כדי להגדיר את מפרט הווקטור.
אפשר גם להזין את הפרמטרים schema_name או column_name.
אחרי שמיישמים את ההמלצות שנוצרו על ידי העזרה הווקטורית, אפשר להשתמש באינדקס הווקטורי.
יצירת שאילתות חיפוש
אתם יכולים להשתמש ב-Vector Assist כדי ליצור שאילתות חיפוש אופטימליות עבור עומסי העבודה של הווקטורים שפרסתם, באמצעות מפרט הווקטורים של עומס העבודה ומדד הווקטורים שנוצר. כדי ליצור שאילתת חיפוש שעברה אופטימיזציה, מריצים את הפונקציה vector_assist.generate_query:
SELECT vector_assist.generate_query(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME',
column_name => 'COLUMN_NAME',
search_text => 'SEARCH_TEXT',
top_k => 'TOP_K_NAME',
target_recall => TARGET_RECALL,
filter_expression => 'FILTER_EXPRESSION'
);
מחליפים את הפרמטרים הבאים:
- SPEC_ID: המזהה של המפרט שרוצים להשתמש בו.
- TABLE_NAME: השם של הטבלה שבה השתמשתם כדי להגדיר את מפרט הווקטור.
- COLUMN_NAME: השם של עמודת הטקסט המקורית שהגדרתם במפרט הווקטור.
- SEARCH_TEXT: הטקסט שרוצים לחפש בעמודה.
- TOP_K: מספר השכנים הקרובים ביותר להחזרה.
- TARGET_RECALL: רמת הדיוק של השליפה שרוצים להשיג באמצעות העזרה של וקטורים.
- FILTER_EXPRESSION: כל המסננים של שאילתת החיפוש, למשל, סינון לפי עמודות אחרות.
רשימה מלאה של כל הפרמטרים הזמינים ליצירת שאילתת חיפוש מופיעה במאמר בנושא עזרה וקטורית.
הפלט של הפונקציה הזו הוא טקסט שמכיל שאילתת SQL. אפשר להריץ או לשמור את שאילתת ה-SQL הזו לפי הצורך.