Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einfügen von Vektoren in einen Vektorindex
Mit der PutVectorsAPI-Operation können Sie Vektoren zu einem Vektorindex hinzufügen. Jeder Vektor besteht aus einem Schlüssel, der jeden Vektor in einem Vektorindex eindeutig identifiziert. Wenn Sie einen Vektor mit einem Schlüssel verknüpfen, der bereits im Index vorhanden ist, überschreibt er den vorhandenen Vektor vollständig, sodass der vorherige Vektor nicht mehr durchsuchbar ist. Um den Schreibdurchsatz zu maximieren und die Kosten zu optimieren, wird empfohlen, Vektoren in großen Batches bis zur maximalen Batchgröße für PutVectors einzufügen. Bei Workloads, bei denen kleinere Batches verwendet werden müssen — z. B. wenn eingehende Vektordaten live durchsuchbar sein müssen — können Sie einen höheren Schreibdurchsatz erreichen, indem Sie eine höhere Anzahl gleichzeitiger Anfragen verwenden, bis zu der maximal zulässigen Anzahl von PutVectors Anfragen pro Sekunde. Weitere Informationen zur maximalen Batchgröße fürPutVectors, also dem Limit für Vektoren pro PutVectors API-Aufruf, und zur maximalen Anzahl von Anfragen und Vektoren pro Sekunde finden Sie unter. Begrenzungen und Einschränkungen Darüber hinaus können Sie jedem Vektor Metadaten (z. B. Jahr, Autor, Genre, Ort) als Schlüssel-Wert-Paare hinzufügen. 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. S3-Vektorindizes unterstützen Metadaten vom Typ Zeichenfolge, Zahl, Boolescher Wert und Liste. Weitere Informationen zur maximalen Gesamtgröße der Metadaten pro Vektor und zur maximalen Größe der filterbaren Metadaten pro Vektor finden Sie unter Begrenzungen und Einschränkungen. Wenn die Metadatengröße diese Grenzwerte überschreitet, gibt der PutVectors-API-Vorgang einen 400 Bad Request-Fehler zurück.
Bevor Sie Ihrem Vektorindex mithilfe der PutVectors-API-Operation Vektordaten hinzufügen, müssen Sie Ihre Rohdaten in Vektoreinbettungen konvertieren. Dabei handelt es sich um numerische Darstellungen Ihres Inhalts als Arrays von Gleitkommazahlen. Die Vektoreinbettungen erfassen die semantische Bedeutung Ihrer Inhalte und ermöglichen Ähnlichkeitssuchen, sobald sie durch den PutVectors-Vorgang in Ihrem Vektorindex gespeichert sind. Sie können Vektoreinbettungen je nach Datentyp und Anwendungsfall mit verschiedenen Methoden generieren. Diese Methoden umfassen den Einsatz von Frameworks für Machine Learning, spezialisierten Einbettungsbibliotheken oder AWS
-Services wie Amazon Bedrock. Wenn Sie beispielsweise Amazon Bedrock verwenden, können Sie Einbettungen mit der InvokeModelAPI-Operation und Ihrem bevorzugten Einbettungsmodell generieren.
Darüber hinaus bietet Amazon Bedrock Knowledge Bases einen vollständig verwalteten end-to-end RAG-Workflow, bei dem Amazon Bedrock automatisch Daten aus Ihrer S3-Datenquelle abruft, Inhalte in Textblöcke konvertiert, Einbettungen generiert und sie in Ihrem Vektorindex speichert. Anschließend können Sie die Wissensdatenbank abfragen und Antworten auf der Grundlage von Blöcken generieren, die aus Ihren Quelldaten abgerufen wurden.
Darüber hinaus bietet das Open-Source-CLI-Tool Amazon S3 Vectors Embed eine vereinfachte Möglichkeit, Einbettungen zu generieren und semantische Suchen von der Befehlszeile aus durchzuführen. Weitere Informationen zu diesem Open-Source-Tool, das sowohl die Generierung von Vektor-Einbettungen mit Amazon-Bedrock-Basismodellen als auch semantische Suchvorgänge innerhalb Ihrer S3-Vektorindizes automatisiert, finden Sie unter Vektoreinbettungen erstellen und semantische Suchen durchführen mit s3vectors-embed-cli.
Anmerkung
Wenn Sie Vektordaten in Ihren Vektorindex einfügen, müssen Sie die Vektordaten als float32 (32-Bit-Gleitkomma)-Werte angeben. Wenn Sie Werte mit höherer Genauigkeit an ein AWS SDK übergeben, konvertiert S3 Vectors die Werte vor dem Speichern in 32-Bit-Gleitkommazahlen GetVectors, ListVectorsund Operationen geben die Werte zurück. QueryVectorsfloat32 Different AWS SDKs kann unterschiedliche numerische Standardtypen haben. Stellen Sie daher sicher, dass Ihre Vektoren korrekt als float32 Werte formatiert sind, unabhängig davon, welches SDK Sie verwenden. Verwenden Sie beispielsweise in Python numpy.float32 oder wandeln Sie Ihre Werte explizit um.