Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Inserimento di vettori in un indice vettoriale
Nota
Amazon S3 Vectors è in versione di anteprima per Amazon Simple Storage Service ed è soggetto a modifiche.
Puoi aggiungere vettori a un indice vettoriale con l'operazione API. PutVectors Ogni vettore è costituito da una chiave, che identifica in modo univoco ogni vettore in un indice vettoriale. Se inserite un vettore con una chiave già esistente nell'indice, questo sovrascriverà completamente il vettore esistente, il che rende il vettore precedente non più ricercabile. Per massimizzare la velocità di scrittura, si consiglia di inserire i vettori in batch di grandi dimensioni, fino alla dimensione massima del batch per. PutVectors
Per ulteriori informazioni sulla dimensione massima del batch perPutVectors
, che è il limite di vettori per PutVectors
chiamata API, consulta. Limitazioni e restrizioni Inoltre, puoi allegare metadati (ad esempio, anno, autore, genere, posizione) come coppie chiave-valore a ciascun vettore. Per impostazione predefinita, tutte le chiavi di metadati allegate 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 di indici vettoriali sono escluse dal filtraggio. Gli indici vettoriali S3 supportano i tipi di metadati di tipo stringa, numerico, booleano ed elenco. Per ulteriori informazioni sul limite di dimensione totale dei metadati per vettore e sul limite di dimensione dei metadati filtrabile per vettore, consulta. Limitazioni e restrizioni Se la dimensione dei metadati supera questi limiti, l'operazione API restituirà un errore. PutVectors
400 Bad Request
Prima di aggiungere dati vettoriali all'indice vettoriale con l'operazione PutVectors
API, è necessario convertire i dati grezzi in incorporamenti vettoriali, che sono rappresentazioni numeriche dei contenuti sotto forma di matrici di numeri a virgola mobile. Gli incorporamenti vettoriali catturano il significato semantico dei tuoi contenuti, abilitando ricerche di somiglianza una volta archiviati nell'indice vettoriale tramite l'operazione. PutVectors
È possibile generare incorporamenti vettoriali utilizzando vari metodi a seconda del tipo di dati e del caso d'uso. Questi metodi includono l'utilizzo di framework di apprendimento automatico, librerie di incorporamento specializzate o AWS
servizi come Amazon Bedrock. Ad esempio, se utilizzi Amazon Bedrock, puoi generare incorporamenti con l'operazione InvokeModelAPI e il tuo modello di incorporamento preferito.
Inoltre, Amazon Bedrock Knowledge Bases fornisce un flusso di lavoro end-to-end RAG completamente gestito in cui Amazon Bedrock recupera automaticamente i dati dalla fonte di dati S3, converte i contenuti in blocchi di testo, genera incorporamenti e li archivia nel tuo indice vettoriale. Puoi quindi interrogare la knowledge base e generare risposte basate su blocchi recuperati dai dati di origine.
Inoltre, lo strumento CLI open source Amazon S3 Vectors Embed offre un modo semplificato per generare incorporamenti ed eseguire ricerche semantiche dalla riga di comando. Per ulteriori informazioni su questo strumento open source che automatizza sia la generazione di incorporamento vettoriale con i modelli di base di Amazon Bedrock sia le operazioni di ricerca semantica all'interno degli indici vettoriali S3, consulta. Creazione di incorporamenti vettoriali ed esecuzione di ricerche semantiche con s3vectors-embed-cli
Nota
Quando inserisci dati vettoriali nell'indice vettoriale, devi fornire i dati vettoriali come valori (virgola mobile a 32 bit). float32
Se passi valori con maggiore precisione a un AWS SDK, S3 Vectors converte i valori in virgola mobile a 32 bit prima di archiviarli e, e le operazioni restituiscono i valori. GetVectorsListVectorsQueryVectorsfloat32
Diversi AWS SDKs possono avere diversi tipi numerici predefiniti, quindi assicurati che i vettori siano formattati correttamente come valori indipendentemente dall'SDK che stai utilizzando. float32
Ad esempio, in Python, usa numpy.float32
o trasmetti in modo esplicito i tuoi valori.