- Was ist Cloud Computing?›
- Hub für Konzepte zum Cloud Computing›
- Datenbanken
Was ist eine Vektordatenbank?
Was ist eine Vektordatenbank?
Informationen liegt in vielen Formen vor. Manche Informationen sind unstrukturiert – wie Textdokumente, Rich Media und Audio –, andere wiederum sind strukturiert – wie Anwendungsprotokolle, Tabellen und Grafiken. Innovationen in den Bereichen künstliche Intelligenz und Machine Learning (KI/ML) haben die Erstellung einer Art ML-Modell ermöglicht – Einbettungsmodelle. Einbettungen kodieren alle Arten von Daten in Vektoren, die die Bedeutung und den Kontext eines Assets erfassen. Auf diese Weise lassen sich ähnliche Assets finden, indem Sie nach benachbarten Datenpunkten suchen. Vektorsuchmethoden ermöglichen einzigartige Erlebnisse wie das Aufnehmen eines Fotos mit dem Smartphone und die Suche nach ähnlichen Bildern.
Vektordatenbanken bieten die Möglichkeit, Vektoren als hochdimensionale Punkte zu speichern und abzurufen. Sie ermöglichen fügen zusätzliche Funktionen für die effiziente und schnelle Suche nach den nächsten Nachbarn im N-dimensionalen Raum. Sie werden in der Regel von k-Nearest Neighbor-Indizes (k-NN) unterstützt und mit Algorithmen wie Hierarchical Navigable Small World (HNSW) und Inverted File Index (IVF) erstellt. Vektor-Datenbanken bieten zusätzliche Funktionen wie Datenmanagement, Fehlertoleranz, Authentifizierung und Zugriffskontrolle sowie eine Abfrage-Engine.
Warum sind Vektordatenbanken wichtig?
Ihre Entwickler können Vektoren, die durch Einbettungen generiert wurden, in eine Vektordatenbank indexieren. Dadurch finden sie ähnliche Assets, indem sie nach benachbarten Vektoren abfragen.
Vektordatenbanken bieten eine Methode zur Operationalisierung von Einbettungsmodellen. Die Anwendungsentwicklung ist produktiver mit Datenbankfunktionen wie Ressourcenmanagement, Sicherheitskontrollen, Skalierbarkeit, Fehlertoleranz und effizientem Informationsabruf unter Verwendung ausgeklügelter Abfragesprachen.
Vektordatenbanken ermöglichen es Entwicklern letztendlich, einzigartige Anwendungserlebnisse zu schaffen. So könnten Ihre Benutzer beispielsweise Fotos auf ihren Smartphones aufnehmen, um nach ähnlichen Bildern zu suchen.
Entwickler können andere Arten von Modellen für Machine Learning verwenden, um die Extraktion von Metadaten aus Inhalten wie Bildern und gescannten Dokumenten zu automatisieren. Sie können Metadaten zusammen mit Vektoren indexieren, um eine Hybridsuche sowohl nach Schlüsselwörtern als auch nach Vektoren zu ermöglichen. Darüber hinaus können Entwickler auch semantisches Verständnis in ein Relevanzranking einfließen lassen, um die Suchergebnisse zu verbessern.
Innovationen im Bereich der generativen künstlichen Intelligenz (KI) haben neue Arten von Modellen wie ChatGPT eingeführt, die Text generieren und komplexe Konversationen mit Menschen verwalten können. Einige können mit mehreren Modalitäten arbeiten; einige Modelle ermöglichen es Benutzern beispielsweise, eine Landschaft zu beschreiben und darauf aufbauen ein Bild zu erzeugen, das der Beschreibung entspricht.
Generative Modelle sind jedoch anfällig für Halluzinationen, die beispielsweise dazu führen könnten, dass ein Chatbot Nutzer in die Irre führt. Vektordatenbanken können generative KI-Modelle ergänzen. Sie können eine externe Wissensbasis für generative KI-Chatbots bereitstellen und sicherstellen, dass sie vertrauenswürdige Informationen bereitstellen.
Wie werden Vektordatenbanken verwendet?
Vektordatenbanken werden in der Regel für Anwendungsfälle der Vektorsuche wie visuelle, semantische und multimodale Suche verwendet. Inzwischen werden sie mit generativen Textmodellen für künstliche Intelligenz (KI) kombiniert, um intelligente Agenten zu erstellen, die dialogorientierte Sucherlebnisse bieten.
Der Entwicklungsprozess beginnt mit der Erstellung eines Einbettungsmodells, das einen Korpus wie Produktbilder in Vektoren codieren soll. Der Datenimportvorgang wird auch als Datenhydratation bezeichnet. Der Anwendungsentwickler kann jetzt die Datenbank verwenden, um nach ähnlichen Produkten zu suchen, indem er ein Produktbild codiert und den Vektor für die Suche nach ähnlichen Bildern verwendet.
Innerhalb des Modells ermöglichen die k-Nearest-Neighbor-Indizes (k-NN) das effiziente Abrufen von Vektoren und wenden eine Distanzfunktion wie den Kosinus an, um die Ergebnisse nach Ähnlichkeit zu ordnen.
Wer verwendet Vektordatenbanken?
Vektordatenbanken sind für Entwickler gedacht, die auf der Vektorsuche basierende Erlebnisse erstellen möchten. Ein Anwendungsentwickler kann Open-Source-Modelle, Tools für automatisiertes Machine Learning (ML) und grundlegende Modellservices verwenden, um Einbettungen zu generieren und eine Vektordatenbank mit Daten zu versorgen. Dies erfordert minimales ML-Fachwissen.
Ein Team von Datenwissenschaftlern und Technikern kann fachmännisch abgestimmte Einbettungen erstellen und diese über eine Vektordatenbank operationalisieren. Auf diesem Wege können Sie Lösungen für künstliche Intelligenz (KI) schneller bereitstellen.
Betriebsteams profitieren von der Verwaltung von Lösungen in Form vertrauter Datenbank-Workloads. Sie können vorhandene Tools und Playbooks verwenden.
Was sind die Vorteile von Vektordatenbanken?
Vektordatenbanken ermöglichen Entwicklern Innovationen und die Erstellung einzigartiger Erlebnisse mit Hilfe der Vektorsuche. Sie können die Anwendungsentwicklung für künstliche Intelligenz (KI) beschleunigen und die Operationalisierung von KI-gestützten Anwendungsworkloads vereinfachen.
Vektordatenbanken bieten eine Alternative zum Aufbau auf bloßen k-Nearest Neighbor-Indizes (k-NN). Die Verwendung, Abstimmung und Umsetzung eines solchen Indexes erfordert ein hohes Maß an zusätzlichem Fachwissen und Technik.
Eine gute Vektordatenbank bietet Anwendungen eine Grundlage durch Funktionen wie Datenverwaltung, Fehlertoleranz, kritische Sicherheitsfunktionen und eine Abfrage-Engine. Diese Funktionen ermöglichen es Benutzern, ihre Workloads zu operationalisieren, um die Skalierung zu vereinfachen, eine hohe Skalierbarkeit aufrechtzuerhalten und Sicherheitsanforderungen zu erfüllen.
Funktionen wie die Abfrage-Engine und SDKs vereinfachen die Anwendungsentwicklung. Sie ermöglichen es Entwicklern außerdem, im Rahmen einer k-NN-Suche komplexere Abfragen (wie Suchen und Filtern) nach Metadaten durchzuführen. Darüber hinaus haben Sie auch die Möglichkeit, hybride Relevanzbewertungsmodelle zu verwenden, die traditionelle Termhäufigkeitsmodelle wie BM25 mit Vektorwerten kombinieren, um den Informationsabruf zu verbessern.
Welche Vektordatenbank wird von AWS für Amazon Bedrock empfohlen?
Amazon O PenSearch Service ist die empfohlene Vektordatenbank für Amazon Bedrock. Der OpenSearch Service bietet eine skalierbare und leistungsstarke Vektordatenbank, die vektorgesteuerte Suchfunktionen (hybrid, semantisch, multimodal, dialogorientiert und andere), Empfehlungssysteme, Chatbots und andere moderne Anwendungen der generativen KI ermöglicht. Der OpenSearch Service ist der einfachste und schnellste Weg, um loszulegen, wenn Sie Vektordatenbanken mit Amazon Bedrock benötigen.
Wie kann AWS Ihre anderen Anforderungen an Vektordatenbanken unterstützen?
Amazon Web Services (AWS) bietet viele zusätzliche Services für Ihre Vektordatenbank-Anforderungen, insbesondere wenn Sie eine Vektorsuche für vorhandene Daten an anderen Orten benötigen (Amazon Aurora, Amazon S3, Amazon MemoryDB):
- Die Amazon Aurora PostgreSQL-kompatible Edition und Amazon Relational Database Service (Amazon RDS) für PostgreSQL unterstützt die pgvector-Erweiterung, um Einbettungen von Machine Learning (ML)-Modellen in Ihrer Datenbank zu speichern und effiziente Ähnlichkeitssuchen durchzuführen.
- Amazon Neptune ML ist eine neue Funktion von Neptune, die Graph Neural Networks (GNNs) verwendet, eine ML-Technik, die speziell für Grafiken entwickelt wurde, um mithilfe von Grafikdaten einfache, schnelle und genauere Vorhersagen zu treffen.
- Die Vektorsuche für Amazon MemoryDB unterstützt das Speichern von Millionen von Vektoren mit einstelligen Millisekundenabfragen und Antwortzeiten bei Aktualisierungen sowie Zehntausenden Abfragen pro Sekunde (QPS) bei einem Abruf von mehr als 99%.
- Amazon DocumentDB (mit MongoDB-Kompatibilität) unterstützt die Vektorsuche, eine neue Funktion, mit der Sie Millionen von Vektoren mit Millisekunden Antwortzeiten speichern, indizieren und durchsuchen können. Mit der Vektorsuche für Amazon DocumentDB können Sie Datenbanken für Ihre ML-Anwendungen einfach einrichten, betreiben und skalieren.
Beginnen Sie mit Vektordatenbanken auf AWS, indem Sie noch heute ein Konto erstellen.