Parametri di configurazione degli indici

Per configurare gli indici per le ricerche di somiglianza, devi configurare i seguenti campi.

Per istruzioni su come configurare un indice, consulta Configurare i parametri dell'indice.

Campi
contentsDeltaUri

string

Consente di inserire, aggiornare o eliminare i contenuti della ricerca vettoriale Index. La stringa deve essere un percorso di directory Cloud Storage valido, ad esempio gs://BUCKET_NAME/PATH_TO_INDEX_DIR/.

Se imposti questo campo quando chiami IndexService.UpdateIndex, nessun altro Index campo può essere aggiornato nell'ambito della stessa chiamata. Scopri come strutturare i singoli file di dati.

isCompleteOverwrite

boolean

Se questo campo viene impostato insieme a contentsDeltaUri quando viene chiamata la funzione IndexService.UpdateIndex, i contenuti esistenti di Index verranno sostituiti dai dati di contentsDeltaUri. Quando questo campo è impostato su true, l'intero indice viene sovrascritto completamente con il nuovo file dei metadati fornito.

config

NearestNeighborSearchConfig

La configurazione della ricerca vettoriale Index.

NearestNeighborSearchConfig

Campi
dimensions

int32

Obbligatorio. Il numero di dimensioni dei vettori di input. Utilizzato solo per gli embedding densi.

approximateNeighborsCount

int32

Obbligatorio se viene utilizzato l'algoritmo tree-AH.

Il numero predefinito di vicini da trovare tramite una ricerca approssimativa prima che venga eseguito il riordinamento esatto. Il riordinamento esatto è una procedura in cui i risultati restituiti da un algoritmo di ricerca approssimativo vengono riordinati utilizzando un calcolo della distanza più costoso.

ShardSize ShardSize

Le dimensioni di ogni shard. Quando un indice è di grandi dimensioni, viene suddiviso in base alle dimensioni dello shard specificate. Durante la pubblicazione, ogni frammento viene pubblicato su un nodo distinto e viene scalato in modo indipendente.

distanceMeasureType

DistanceMeasureType

La misurazione della distanza utilizzata nella ricerca del vicino più prossimo.

featureNormType

FeatureNormType

Tipo di normalizzazione da eseguire su ciascun vettore.

algorithmConfig oneOf:

La configurazione degli algoritmi utilizzati da Vector Search per una ricerca efficiente. Utilizzato solo per embedding densi.

  • TreeAhConfig: opzioni di configurazione per l'utilizzo dell'algoritmo tree-AH. Per saperne di più, consulta questo post del blog Scalabilità del recupero approfondito con i consigli di TensorFlow e la ricerca vettoriale
  • BruteForceConfig: questa opzione implementa la ricerca lineare standard nel database per ogni query. Non sono presenti campi da configurare per una ricerca bruta. Per selezionare questo algoritmo, passa un oggetto vuoto per BruteForceConfig.

DistanceMeasureType

Enum
SQUARED_L2_DISTANCE Distanza euclidea (L2)
L1_DISTANCE Distanza di Manhattan (L1)
DOT_PRODUCT_DISTANCE Valore predefinito. Definito come il negativo del prodotto scalare.
COSINE_DISTANCE Distanza coseno. Consigliamo vivamente di utilizzare DOT_PRODUCT_DISTANCE + UNIT_L2_NORM anziché la distanza COSINE. I nostri algoritmi sono stati ottimizzati maggiormente per la distanza DOT_PRODUCT e, se combinati con UNIT_L2_NORM, offrono lo stesso ranking e la stessa equivalenza matematica della distanza COSINE.

ShardSize

Enum
SHARD_SIZE_SMALL 2 GiB per shard
SHARD_SIZE_MEDIUM 20 GiB per shard
SHARD_SIZE_LARGE 50 GiB per shard

FeatureNormType

Enum
UNIT_L2_NORM Tipo di normalizzazione L2 dell'unità.
NONE Valore predefinito. Non è specificato alcun tipo di normalizzazione.

TreeAhConfig

Questi sono i campi da selezionare per l'algoritmo tree-AH.

Campi
fractionLeafNodesToSearch double
La frazione predefinita di nodi foglia in cui è possibile cercare qualsiasi query. Deve essere compreso tra 0,0 e 1,0, esclusi. Se non è impostato, il valore predefinito è 0,05.
leafNodeEmbeddingCount int32
Numero di incorporamenti su ciascun nodo foglia. Se non è impostato, il valore predefinito è 1000.
leafNodesToSearchPercent int32
Funzionalità deprecata, utilizza fractionLeafNodesToSearch.

La percentuale predefinita di nodi foglia in cui è possibile cercare qualsiasi query. Deve essere compreso tra 1 e 100, inclusi. Se non è impostato, il valore predefinito è 10 (ovvero il 10%).

BruteForceConfig

Questa opzione implementa la ricerca lineare standard nel database per ogni query. Non sono presenti campi da configurare per una ricerca bruta. Per selezionare questo algoritmo, passa un oggetto vuoto per BruteForceConfig a algorithmConfig.