פרמטרים להגדרת האינדקס

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

הוראות להגדרת אינדקס זמינות במאמר הגדרת פרמטרים של אינדקס.

שדות
contentsDeltaUri

string

מאפשר להוסיף, לעדכן או למחוק את התוכן של IndexVector Search. המחרוזת חייבת להיות נתיב תקף בספרייה של Cloud Storage, כמו gs://BUCKET_NAME/PATH_TO_INDEX_DIR/.

אם מגדירים את השדה הזה כשמתקשרים אל IndexService.UpdateIndex, אי אפשר לעדכן שדה אחר של IndexService.UpdateIndex כחלק מאותה שיחה.Index איך יוצרים קבצים של נתונים אישיים

isCompleteOverwrite

boolean

אם השדה הזה מוגדר יחד עם contentsDeltaUri כשמתקשרים אל IndexService.UpdateIndex, התוכן הקיים של Index יוחלף בנתונים מ-contentsDeltaUri. אם השדה הזה מוגדר כ-true, האינדקס כולו נכתב מחדש לחלוטין עם קובץ המטא-נתונים החדש שסיפקתם.

config

NearestNeighborSearchConfig

ההגדרה של Vector Search Index.

NearestNeighborSearchConfig

שדות
dimensions

int32

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

approximateNeighborsCount

int32

חובה אם משתמשים באלגוריתם tree-AH.

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

ShardSize ShardSize

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

distanceMeasureType

DistanceMeasureType

מדד המרחק שמשמש בחיפוש השכן הקרוב ביותר.

featureNormType

FeatureNormType

סוג הנורמליזציה שצריך לבצע בכל וקטור.

algorithmConfig oneOf:

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

  • TreeAhConfig: אפשרויות הגדרה לשימוש באלגוריתם tree-AH. מידע נוסף זמין בפוסט בבלוג Scaling deep retrieval with TensorFlow Recommenders and Vector Search (הרחבת אחזור עמוק באמצעות TensorFlow Recommenders וחיפוש וקטורי).
  • BruteForceConfig: האפשרות הזו מטמיעה את החיפוש הליניארי הרגיל במסד הנתונים עבור כל שאילתה. אין שדות להגדרה לחיפוש בכוח. כדי לבחור באלגוריתם הזה, צריך להעביר אובייקט ריק ל-BruteForceConfig.

DistanceMeasureType

טיפוסים בני מנייה (enum)
SQUARED_L2_DISTANCE מרחק אוקלידי (L2)
L1_DISTANCE מרחק מנהטן (L1)
DOT_PRODUCT_DISTANCE ערך ברירת המחדל. מוגדר כערך שלילי של המכפלה הסקלרית. שימו לב: אינדקס דליל תומך רק במרחק של מכפלה סקלרית.
COSINE_DISTANCE מרחק קוסינוס. מומלץ מאוד להשתמש ב-DOT_PRODUCT_DISTANCE + UNIT_L2_NORM במקום במרחק COSINE. האלגוריתמים שלנו עברו אופטימיזציה לחישוב המרחק DOT_PRODUCT, וכשמשלבים אותו עם UNIT_L2_NORM, הוא מספק את אותו דירוג ואת אותה שקילות מתמטית כמו המרחק COSINE.

ShardSize

טיפוסים בני מנייה (enum)
SHARD_SIZE_SMALL ‫2GiB לכל שבר
SHARD_SIZE_MEDIUM ‫20GiB לכל שארד
SHARD_SIZE_LARGE ‫50GiB לכל שארד

FeatureNormType

טיפוסים בני מנייה (enum)
UNIT_L2_NORM סוג הנורמליזציה של יחידה L2.
NONE ערך ברירת המחדל. לא צוין סוג נורמליזציה.

TreeAhConfig

אלה השדות שצריך לבחור עבור אלגוריתם tree-AH.

שדות
fractionLeafNodesToSearch double
ברירת המחדל של החלק היחסי של צמתי עלים שאפשר לחפש בכל שאילתה. הערך חייב להיות בטווח 0.0 עד 1.0, לא כולל. ערך ברירת המחדל הוא 0.05 אם לא הוגדר.
leafNodeEmbeddingCount int32
מספר ההטמעות בכל צומת עלה. ערך ברירת המחדל הוא 1,000 אם לא הוגדר ערך.
leafNodesToSearchPercent int32
הוצא משימוש, צריך להשתמש ב-fractionLeafNodesToSearch.

אחוז ברירת המחדל של צמתי עלים שאפשר לחפש בכל שאילתה. הערך חייב להיות בין 1 ל-100, כולל. ערך ברירת המחדל הוא 10 (כלומר 10%) אם לא הוגדר ערך.

BruteForceConfig

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