Parameter für die Indexkonfiguration

Um Indexe für Ähnlichkeitssuchen zu konfigurieren, müssen Sie die folgenden Felder konfigurieren. Eine Anleitung zum Konfigurieren eines Index finden Sie unter Indexparameter konfigurieren.

Felder
contentsDeltaUri

string

Ermöglicht das Einfügen, Aktualisieren oder Löschen des Inhalts der Vektorsuche Index. Der String muss ein gültiger Cloud Storage-Verzeichnispfad sein, z. B. gs://BUCKET_NAME/PATH_TO_INDEX_DIR/.

Wenn Sie dieses Feld beim Aufrufen von IndexService.UpdateIndex festlegen, kann kein anderes Index-Feld im Rahmen desselben Aufrufs aktualisiert werden. Erfahren Sie, wie Sie einzelne Datendateien strukturieren.

isCompleteOverwrite

boolean

Wenn dieses Feld beim Aufruf von IndexService.UpdateIndex mit contentsDeltaUri festgelegt wird, werden vorhandene Inhalte von Index durch die Daten aus contentsDeltaUri ersetzt.

config

NearestNeighborSearchConfig

Die Konfiguration des Index der Vektorsuche.

NearestNeighborSearchConfig

Felder
dimensions

int32

Erforderlich. Die Anzahl der Dimensionen der Eingabevektoren.

approximateNeighborsCount

int32

Erforderlich, wenn der tree-AH-Algorithmus verwendet wird.

Die Standardanzahl der Nachbarn, die über die ungefähre Suche gefunden werden sollen, bevor die genaue Neusortierung ausgeführt wird. Bei der genauen Neusortierung werden Ergebnisse, die von einem ungefähren Suchalgorithmus zurückgegeben werden, über eine aufwändigere Entfernungsberechnung neu angeordnet.

ShardSize ShardSize

Die Größe jedes Shards. Wenn ein Index groß ist, wird er basierend auf der angegebenen Shard-Größe fragmentiert. Während der Bereitstellung wird jeder Shard auf einem separaten Knoten bereitgestellt und unabhängig skaliert.

distanceMeasureType

DistanceMeasureType

Die bei der Suche nach dem nächsten Nachbarn verwendete Distanzmessung.

featureNormType

FeatureNormType

Art der Normalisierung, die für jeden Vektor ausgeführt werden soll.

algorithmConfig oneOf:

Die Konfiguration für die Algorithmen, die die Vektorsuche für eine effiziente Suche verwendet.

  • TreeAhConfig: Konfigurationsoptionen für die Verwendung des tree-AH-Algorithmus. Weitere Informationen finden Sie in diesem Blog: Deep Retrieval mit TensorFlow Recommenders und der Vektorsuche skalieren
  • BruteForceConfig: Diese Option implementiert die lineare Standardsuche in der Datenbank für jede Abfrage. Es gibt keine Felder, die für eine Brute-Force-Suche konfiguriert werden müssen. Zum Auswählen dieses Algorithmus übergeben Sie ein leeres Objekt für BruteForceConfig.

DistanceMeasureType

Enums
SQUARED_L2_DISTANCE Euklidische (L2)-Distanz
L1_DISTANCE Manhattan (L1)-Distanz
DOT_PRODUCT_DISTANCE Standardwert. Definiert als negativer Wert des Skalarprodukts.
COSINE_DISTANCE Kosinus-Entfernung. Wir empfehlen dringend, anstelle der KOSINUS-Distanz DOT_PRODUCT_DISTANCE + UNIT_L2_NORM zu verwenden. Unsere Algorithmen wurden für die DOT_PRODUCT-Distanz optimiert. In Kombination mit UNIT_L2_NORM bietet sie dieselbe Rangfolge und mathematische Äquivalenz wie die KOSINUS-Distanz.

ShardSize

Enums
SHARD_SIZE_SMALL 2 GiB pro Shard
SHADE_SIZE_MEDIUM 20 GiB pro Shard
SHADE_SIZE_LARGE 50 GiB pro Shard

FeatureNormType

Enums
UNIT_L2_NORM Einheit-L2-Normalisierungstyp.
NONE Standardwert. Es ist kein Normalisierungstyp angegeben.

TreeAhConfig

Dies sind die Felder, die für den tree-AH-Algorithmus ausgewählt werden.

Felder
fractionLeafNodesToSearch double
Der Standardanteil an Blattknoten, die bei einer beliebigen Abfrage durchsucht werden können. Muss zwischen 0,0 bis 1,0 (ausschließlich) liegen. Der Standardwert ist 0.05, wenn nicht festgelegt.
leafNodeEmbeddingCount int32
Anzahl der Einbettungen auf jedem Blattknoten. Der Standardwert ist 1.000, wenn nicht festgelegt.
leafNodesToSearchPercent int32
Verworfen, verwenden Sie fractionLeafNodesToSearch.

Der Standardprozentsatz von Blattknoten, die bei einer beliebigen Abfrage durchsucht werden können. Muss zwischen 1 und 100 liegen. Der Standardwert ist 10 (also 10 %), wenn nichts festgelegt ist.

BruteForceConfig

Mit dieser Option wird die standardmäßige lineare Suche in der Datenbank für jede Abfrage implementiert. Es gibt keine Felder, die für eine Brute-Force-Suche konfiguriert werden müssen. Zum Auswählen dieses Algorithmus übergeben Sie ein leeres Objekt für BruteForceConfig an algorithmConfig.