בדף הזה מוסבר איך להשתמש בעזרה בווקטורים כדי לפרוס ולנהל עומס עבודה של וקטורים במופע של Cloud SQL ל-PostgreSQL.
מידע נוסף על התכונה 'סיוע וקטורי' ועל אופן הפעולה שלה זמין במאמר סקירה כללית על סיוע וקטורי.
לפני שמתחילים
- מוודאים שהמופע שלכם משתמש בגרסת התחזוקה הנכונה.
כדי להשתמש בעזרה וקטורית, נדרש מספר גרסת תחזוקה מינימלי של
PostgreSQL_$version.R20251004.01_07. מידע נוסף על ביצוע תחזוקה בשירות עצמי זמין במאמר תחזוקה בשירות עצמי לשיפור הביצועים. - מגדירים את הדגל
cloudsql.enable_vector_assistשל מסד הנתונים לערךON. מפעילים את התוסף vector assist באמצעות הפקודה הבאה במסד הנתונים שבו רוצים להשתמש:
CREATE EXTENSION vector_assist CASCADE;כך נוצרת סכימת
vector_assist, שמשמשת את העזרה הווקטורית.
שימוש בעזרה בווקטורים כדי לפרוס עומס עבודה של וקטורים
כדי להשתמש ב-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 באמצעות מפרט הווקטורים, מריצים את הפונקציה 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 שרוצים להחיל מתוך הטבלה
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: כל המסננים של שאילתת החיפוש, למשל סינון לפי עמודות אחרות.
כדי לראות רשימה מלאה של כל הפרמטרים הזמינים ליצירת שאילתת חיפוש, אפשר לעיין בחומר העזר בנושא Vector assist.
הפלט של הפונקציה הזו הוא טקסט שמכיל שאילתת SQL. אפשר להריץ או לשמור את שאילתת ה-SQL הזו לפי הצורך.