Creazione di un indice vettoriale in un bucket vettoriale
Nota
Amazon S3 Vectors è disponibile in versione di anteprima per Amazon Simple Storage Service ed è soggetto a modifiche.
Nota
Scegli con attenzione i parametri di configurazione dell’indice vettoriale. Dopo aver creato un indice vettoriale, non è possibile aggiornare il nome dell’indice vettoriale, la dimensione, la metrica della distanza o le chiavi di metadati non filtrabili. Per modificare uno di questi valori, occorre creare un nuovo indice vettoriale.
Un indice vettoriale è una risorsa all’interno di un bucket vettoriale che archivia e organizza i dati vettoriali per eseguire ricerche per similarità efficienti. Quando si crea un indice vettoriale, si definiscono le caratteristiche che tutti i vettori di tale indice devono condividere, ad esempio la dimensione, la metrica della distanza utilizzata per i calcoli della similarità e, facoltativamente, le chiavi di metadati non filtrabili. Per ulteriori informazioni sui requisiti di denominazione degli indici vettoriali, sui requisiti delle dimensioni, sulle opzioni di metrica della distanza e sulle chiavi di metadati non filtrabili, consulta Limitazioni e restrizioni.
Gli indici vettoriali devono essere creati all’interno di un bucket vettoriale esistente e richiedono parametri di configurazione specifici che non possono essere modificati dopo la creazione.
Come creare un indice vettoriale
-
Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/
. -
Nel riquadro di navigazione, scegli Bucket di vettori.
-
Nell’elenco dei bucket vettoriali, seleziona il nome del bucket in cui desideri creare un indice vettoriale.
-
Scegli Crea indice di vettore.
-
Per Nome dell’indice di vettore, inserisci un nome per l’indice vettoriale.
I nomi degli indici vettoriali devono essere univoci all’interno del bucket vettoriale. Il nome dell’indice deve essere composto da un numero di caratteri compreso tra 3 e 63. I caratteri validi sono lettere minuscole (a-z), numeri (0-9), trattini (-) e punti (.). Per ulteriori informazioni sui requisiti di denominazione dell’indice vettoriale, consulta Limitazioni e restrizioni.
-
Per Dimensione, inserisci il numero di valori in ogni vettore.
Nota
-
Il valore per Dimensione determina quanti valori numerici conterrà ogni vettore.
-
Tutti i vettori aggiunti a questo indice devono avere esattamente questo numero di valori.
-
La dimensione deve essere compresa tra 1 e 4096.
-
Una dimensione più grande richiede più spazio di archiviazione.
-
Scegli in base alle dimensioni di output del modello di embedding.
Per ulteriori informazioni sui requisiti di dimensione, consulta Limitazioni e restrizioni.
-
-
Per Metrica della distanza, scegli una delle seguenti opzioni:
-
Coseno: misura il coseno dell’angolo tra i vettori. Ideale per vettori normalizzati e quando la direzione è più importante della grandezza
-
Euclideo: misura la distanza in linea retta tra i vettori. Ideale quando sia la direzione sia la grandezza sono importanti.
-
-
(Facoltativo) In Metadati non filtrabili, configura le chiavi di metadati che verranno archiviate ma non utilizzate per il filtro:
Per aggiungere chiavi di metadati non filtrabili:
-
Scegliere Add key (Aggiungi chiave).
-
Inserisci un nome per la chiave (da 1 a 63 caratteri e univoco all’interno dell’indice vettoriale).
-
Ripeti l’operazione per aggiungere altre chiavi (al massimo 10 chiavi).
Nota
È possibile collegare a ciascun vettore i metadati filtrabili come coppie chiave-valore quando si inseriscono dati vettoriali dopo aver creato l’indice vettoriale. Per impostazione predefinita, tutte le chiavi di metadati collegate ai vettori sono filtrabili e possono essere utilizzate come filtri in una query di somiglianza. Solo le chiavi di metadati specificate come non filtrabili durante la creazione dell’indice vettoriale non possono essere utilizzate come filtro. Per ulteriori informazioni sui limiti di dimensione dei metadati per vettore, inclusi i vincoli dei metadati filtrabili e totali, consulta Limitazioni e restrizioni.
-
-
Esamina attentamente la configurazione.
Nota
Queste impostazioni non possono essere modificate dopo la creazione.
-
Scegli Crea indice di vettore.
Per creare un indice vettoriale in un bucket vettoriale, utilizza i seguenti comandi di esempio e sostituisci user input placeholders con le informazioni appropriate.
Esempio 1: creazione di un indice vettoriale con chiavi di metadati non filtrabili
aws s3vectors create-index \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --data-type "float32" \ --dimension1\ --distance-metric "cosine" \ --metadata-configuration '{"nonFilterableMetadataKeys":["nonFilterableKey1"]}'
Esempio 2: creazione di un indice vettoriale senza chiavi di metadati non filtrabili
aws s3vectors create-index \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx2" \ --data-type "float32" \ --dimension4096\ --distance-metric "euclidean"
Inoltre, tutti i metadati (filtrabili e non filtrabili) vengono recuperati allo stesso modo utilizzando le operazioni API GetVectors, ListVectors o QueryVectors. Il seguente comando CLI mostra come recuperare i vettori con metadati (inclusi i metadati non filtrabili).
Richiesta di esempio:
aws s3vectors get-vectors \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --keys '["vec1", "vec3"]' \ --return-data \ --return-metadata \
Risposta di esempio:
{ "vectors": [ { "key": "vec1", "data": { "float32": [ 0.10000000149011612, 0.20000000298023224, 0.30000001192092896, 0.4000000059604645, 0.5 ] }, "metadata": { "category": "test", "text": "First vector" } }, { "key": "vec3", "data": { "float32": [ 0.6000000238418579, 0.699999988079071, 0.800000011920929, 0.8999999761581421, 1.0 ] }, "metadata": { "text": "Third vector", "category": "test" } } ] }
La risposta includerà tutti i metadati associati al vettore, indipendentemente dal fatto che siano stati specificati come filtrabili o non filtrabili durante la creazione dell’indice.