Erstellen eines Vektorindex in einem Vektor-Bucket
Anmerkung
Amazon S3 Vectors befindet sich in der Vorabversion für Amazon Simple Storage Service und unterliegt noch Änderungen.
Anmerkung
Wählen Sie Ihre Konfigurationsparameter für den Vektorindex sorgfältig aus. Nachdem Sie einen Vektorindex erstellt haben, können Sie den Namen, die Dimension, die Entfernungsmetrik oder die nicht filterbaren Metadatenschlüssel des Vektorindexes nicht mehr aktualisieren. Um einen dieser Werte zu ändern, müssen Sie einen neuen Vektorindex erstellen.
Ein Vektor-Index ist eine Ressource innerhalb eines Vektor-Buckets, die Vektordaten für eine effiziente Ähnlichkeitssuche speichert und organisiert. Wenn Sie einen Vektorindex erstellen, definieren Sie die Merkmale, die alle Vektoren in diesem Index gemeinsam haben müssen, z. B. die Dimension, die für Ähnlichkeitsberechnungen verwendete Entfernungsmetrik und optional nicht filterbare Metadatenschlüssel. Weitere Informationen zu den Benennungsanforderungen für Vektorindizes, zu den Dimensionsanforderungen, zu den Optionen für Entfernungsmetriken und zu nicht filterbaren Metadatenschlüsseln finden Sie unter. Begrenzungen und Einschränkungen
Vektorindizes müssen innerhalb eines vorhandenen Vektor-Buckets erstellt werden und erfordern spezielle Konfigurationsparameter, die nach der Erstellung nicht mehr geändert werden können.
Vektor-Index erstellen
-
Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Wählen Sie im Navigationsbereich die Option Vektor-Buckets aus.
-
Wählen Sie in der Liste der Vektor-Buckets den Namen des Buckets aus, in dem Sie einen Vektorindex erstellen möchten.
-
Wählen Sie Vektorindex erstellen.
-
Geben Sie unter Vektorindexname einen Namen für Ihren Vektorindex ein.
Namen von Vektorindizes müssen innerhalb des Vektor-Buckets eindeutig sein. Der Name des Indexes muss zwischen 3 und 63 Zeichen lang sein. Gültige Zeichen sind Kleinbuchstaben (a–z), Ziffern (0–9), Bindestriche (-) und Punkte (.). Weitere Informationen zu den Anforderungen für die Benennung von Vektorindizes finden Sie unter Begrenzungen und Einschränkungen.
-
Geben Sie für Dimension die Anzahl der Werte in jedem Vektor ein.
Anmerkung
-
Der Wert für Dimension bestimmt, wie viele numerische Werte jeder Vektor enthalten wird.
-
Alle Vektoren, die zu diesem Index hinzugefügt werden, müssen genau diese Anzahl von Werten aufweisen.
-
Die Dimension muss zwischen 1 und 4096 liegen.
-
Eine größere Dimension erfordert mehr Speicherplatz.
-
Wählen Sie basierend auf den Ausgabeabmessungen Ihres Einbettungsmodells.
Weitere Informationen zu den Abmessungsanforderungen finden Sie unter Begrenzungen und Einschränkungen.
-
-
Für Distanzmetrik wählen Sie eine der folgenden Optionen:
-
Kosinus – Misst den Kosinus des Winkels zwischen Vektoren. Ideal für normalisierte Vektoren und wenn die Richtung wichtiger ist als die Größe
-
Euklidisch – Misst den geradlinigen Abstand zwischen Vektoren. Am besten, wenn sowohl Richtung als auch Größe wichtig sind.
-
-
(Optional) Konfigurieren Sie unter Nicht filterbare Metadaten Metadatenschlüssel, die gespeichert, aber nicht zum Filtern verwendet werden:
So fügen Sie nicht filterbare Metadatenschlüssel hinzu:
-
Wählen Sie Schlüssel hinzufügen.
-
Bitte geben Sie einen Schlüsselnamen ein (1–63 Zeichen und innerhalb dieses Vektorindex eindeutig).
-
Wiederholen Sie den Vorgang, um weitere Schlüssel hinzuzufügen (maximal 10 Schlüssel).
Anmerkung
Sie können filterbare Metadaten als Schlüssel-Wert-Paare an jeden Vektor anhängen, wenn Sie Vektordaten einfügen, nachdem Sie einen Vektorindex erstellt haben. Standardmäßig sind alle Metadatenschlüssel, die an Vektoren angehängt sind, filterbar und können als Filter in einer Ähnlichkeitsabfrage verwendet werden. Nur Metadatenschlüssel, die bei der Erstellung des Vektorindexes als nicht filterbar angegeben wurden, werden von der Filterung ausgeschlossen. Weitere Informationen zu Größenbeschränkungen für Metadaten pro Vektor, einschließlich Einschränkungen für die Gesamtzahl und filterbare Metadaten, finden Sie unter. Begrenzungen und Einschränkungen
-
-
Überprüfen Sie Ihre Konfiguration sorgfältig.
Anmerkung
Diese Einstellungen können nach der Erstellung nicht geändert werden.
-
Wählen Sie Vektorindex erstellen.
Um einen Vektorindex in einem Vektor-Bucket zu erstellen, verwenden Sie die folgenden Beispielbefehle und ersetzen Sie die user input placeholders durch eigene Daten.
Beispiel 1: Einen Vektorindex mit nicht filterbaren Metadatenschlüsseln erstellen
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"]}'
Beispiel 2: Einen Vektorindex ohne nicht filterbare Metadatenschlüssel erstellen
aws s3vectors create-index \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx2" \ --data-type "float32" \ --dimension4096\ --distance-metric "euclidean"
Darüber hinaus werden alle Metadaten (sowohl filterbare als auch nicht filterbare) auf dieselbe Weise mithilfe der GetVectors-, ListVectors- oder QueryVectors-API-Operationen abgerufen. Der folgende CLI-Befehl zeigt, wie Vektoren mit Metadaten (einschließlich nicht filterbarer Metadaten) abgerufen werden.
Beispielanforderung:
aws s3vectors get-vectors \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --keys '["vec1", "vec3"]' \ --return-data \ --return-metadata \
Beispielantwort:
{ "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" } } ] }
Die Antwort enthält alle mit dem Vektor verknüpften Metadaten, unabhängig davon, ob sie bei der Indexerstellung als filterbar oder nicht filterbar angegeben wurden.