בדף הזה מוסבר על חיפוש וקטורי ואיך הוא פועל ב-Spanner.
חיפוש וקטורי הוא יכולת מובנית ומתקדמת שמאפשרת חיפוש סמנטי והתאמת דמיון בנתונים וקטוריים רב-ממדיים. באמצעות אחסון והוספה לאינדקס של הטמעות וקטוריות ישירות במסד הנתונים הטרנזקציוני, Spanner מבטל את הצורך במסדי נתונים וקטוריים נפרדים ובצינורות ETL מורכבים.
מושגים מרכזיים
בקטע הזה נסביר על המושגים המרכזיים הבאים שקשורים לחיפוש וקטורים:
- הטמעות וקטורים
- שיטות חיפוש (KNN ו-ANN)
- פונקציות מרחק
הטמעות וקטורים
הטמעות וקטוריות הן ייצוגים מספריים של נתונים לא מובנים עם הרבה ממדים. הם נוצרים מנתונים לא מובנים באמצעות מודלים של למידת מכונה. לדוגמה, אתם יכולים להשתמש ב-Vertex AI text embedding API כדי ליצור, לאחסן ולעדכן הטמעות טקסט עבור נתונים שמאוחסנים ב-Spanner.
שיטות חיפוש
ב-Spanner יש שתי שיטות למציאת וקטורים דומים:
K-nearest neighbors (KNN): חיפוש מדויק באמצעות חישוב המרחק בין השאילתה לבין כל וקטור במערך הנתונים. היא מספקת היזכרות מדויקת יותר, אבל היא דורשת הרבה משאבי מחשוב למערכי נתונים גדולים.
Approximate nearest neighbor (ANN): משתמש באינדקס וקטורי (מבוסס על אלגוריתם ScaNN של Google) כדי למצוא התאמות במהירות בין מספר גדול של וקטורים. הוא מתפשר על דיוק מסוים (recall) כדי לשפר את המהירות וההתאמה.
יכולות עיקריות
יכולת הרחבה: תומך במיליארדי וקטורים לחיפוש ANN לא מחולק, או בטריליוני וקטורים לעומסי עבודה מחולקים של KNN.
מסד נתונים ומנוע AI מאוחדים: אפשר להשתמש בפונקציה GoogleSQL
ML.PREDICTאו PostgreSQLspanner.ML_PREDICT_ROWכדי ליצור הטבעות ממודלים של Vertex AI ישירות בתהליך השאילתות.סינון מוטבע: שילוב יעיל של חיפוש וקטורי עם מסנני מטא נתונים מובנים (לדוגמה, 'חיפוש תמונות דומות שבהן הקטגוריה היא 'נעליים' והמחיר נמוך מ-100') בלי לפגוע בביצועים.
שילוב של LangChain: תמיכה מובנית ב-LangChain מאפשרת לכם ליצור אפליקציות של Retrieval-Augmented Generation (יצירה משולבת-אחזור, RAG) באמצעות Spanner כמאגר וקטורים.
יכולות חיפוש היברידיות
החיפוש הווקטורי הוא הכי יעיל כשמשלבים אותו עם תכונות אחרות של נתונים ב-Spanner:
| שילוב | הטבה |
|---|---|
| חיפוש וקטורי עם סינון SQL | שילוב יעיל של חיפוש וקטורי עם מסננים (לדוגמה, 'חיפוש תמונות דומות שבהן הקטגוריה היא 'נעליים' והמחיר נמוך מ-100'). |
| חיפוש וקטורי + חיפוש טקסט מלא | כדי לשפר את הרלוונטיות של החיפוש, מומלץ לשלב בין דמיון סמנטי לבין דיוק מילות מפתח באמצעות מיזוג דרגות הדדי (RRF). |
| וקטור + תרשים | אפשר להשתמש בחיפוש וקטורי כדי למצוא נקודות כניסה רלוונטיות (צמתים) בתרשים נכסים, ואז לעבור בין קשרים מורכבים. |
המאמרים הבאים
- מידע נוסף על Spanner AI
- מידע נוסף על קבלת הטמעות טקסט ב-Vertex AI
- מידע נוסף על ביצוע חיפוש של K-nearest neighbors (KNN)
- מידע נוסף על חיפוש של שכנים קרובים משוערים (ANN)