Parámetros de configuración de índices

Para configurar los índices de las búsquedas de similitud, debes configurar los siguientes campos.

Para obtener instrucciones sobre cómo configurar un índice, consulta Configurar parámetros de índice.

Campos
contentsDeltaUri

string

Permite insertar, actualizar o eliminar el contenido de la búsqueda vectorial Index. La cadena debe ser una ruta de directorio de Cloud Storage válida, como gs://BUCKET_NAME/PATH_TO_INDEX_DIR/.

Si defines este campo al llamar a IndexService.UpdateIndex, no se podrá actualizar ningún otro campo Index como parte de la misma llamada. Consulta cómo estructurar archivos de datos individuales.

isCompleteOverwrite

boolean

Si este campo se define junto con contentsDeltaUri al llamar a IndexService.UpdateIndex, el contenido de Index se sustituirá por los datos de contentsDeltaUri. Si este campo tiene el valor "true", todo el índice se sobrescribirá por completo con el nuevo archivo de metadatos que proporcione.

config

NearestNeighborSearchConfig

La configuración de la búsqueda vectorial Index.

NearestNeighborSearchConfig

Campos
dimensions

int32

Obligatorio. Número de dimensiones de los vectores de entrada. Se usa solo para inserciones densas.

approximateNeighborsCount

int32

Obligatorio si se usa el algoritmo tree-AH.

Número predeterminado de vecinos que se deben encontrar mediante la búsqueda aproximada antes de que se realice la reordenación exacta. El reordenamiento exacto es un procedimiento en el que los resultados devueltos por un algoritmo de búsqueda aproximada se reordenan mediante un cálculo de distancia más costoso.

ShardSize ShardSize

El tamaño de cada fragmento. Cuando un índice es grande, se fragmenta según el tamaño de fragmento especificado. Durante el servicio, cada fragmento se sirve en un nodo independiente y se escala de forma independiente.

distanceMeasureType

DistanceMeasureType

La medida de distancia utilizada en la búsqueda de vecinos más cercanos.

featureNormType

FeatureNormType

Tipo de normalización que se va a llevar a cabo en cada vector.

algorithmConfig oneOf:

Configuración de los algoritmos que usa la búsqueda de vectores para realizar búsquedas eficientes. Se usa solo para las inserciones densas.

  • TreeAhConfig: opciones de configuración para usar el algoritmo tree-AH. Para obtener más información, consulta esta entrada del blog sobre escalar la recuperación profunda con TensorFlow Recommenders y la búsqueda vectorial.
  • BruteForceConfig: esta opción implementa la búsqueda lineal estándar en la base de datos para cada consulta. No hay campos que configurar para una búsqueda de fuerza bruta. Para seleccionar este algoritmo, pasa un objeto vacío para BruteForceConfig.

DistanceMeasureType

Enumeraciones
SQUARED_L2_DISTANCE Distancia euclidiana (L2)
L1_DISTANCE Distancia de Manhattan (L1)
DOT_PRODUCT_DISTANCE Valor predeterminado. Se define como el negativo del producto escalar.
COSINE_DISTANCE Distancia del coseno. Te recomendamos que uses DOT_PRODUCT_DISTANCE + UNIT_L2_NORM en lugar de la distancia COSINE. Nuestros algoritmos se han optimizado más para la distancia DOT_PRODUCT y, cuando se combinan con UNIT_L2_NORM, ofrecen la misma clasificación y equivalencia matemática que la distancia COSINE.

ShardSize

Enumeraciones
SHARD_SIZE_SMALL 2 GiB por fragmento
SHARD_SIZE_MEDIUM 20 GiB por fragmento
SHARD_SIZE_LARGE 50 GiB por partición

FeatureNormType

Enumeraciones
UNIT_L2_NORM Tipo de normalización de la unidad L2.
NONE Valor predeterminado. No se ha especificado ningún tipo de normalización.

TreeAhConfig

Estos son los campos que se deben seleccionar para el algoritmo de árbol AH.

Campos
fractionLeafNodesToSearch double
Fracción predeterminada de nodos hoja que se pueden buscar en cualquier consulta. Debe estar en el intervalo [0,0, 1,0], ambos excluidos. El valor predeterminado es 0,05 si no se define.
leafNodeEmbeddingCount int32
Número de inserciones en cada nodo hoja. El valor predeterminado es 1000 si no se define.
leafNodesToSearchPercent int32
Obsoleto, usa fractionLeafNodesToSearch.

Porcentaje predeterminado de nodos hoja que se pueden buscar en cualquier consulta. Debe estar comprendido entre 1 y 100, ambos incluidos. El valor predeterminado es 10 (es decir, el 10%) si no se define.

BruteForceConfig

Esta opción implementa la búsqueda lineal estándar en la base de datos para cada consulta. No hay campos que configurar para una búsqueda de fuerza bruta. Para seleccionar este algoritmo, pasa un objeto vacío a BruteForceConfig a algorithmConfig.