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 in der generativen künstlichen Intelligenz (KI) haben neue Arten von Modellen wie ChatGPT eingeführt, mit denen Text generiert und komplexe Konversationen mit Menschen verwaltet werden 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, was beispielsweise dazu führen könnte, dass ein Chatbot Benutzer irrefü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. Sie können darüber hinaus verhindern, dass generative KI-Modelle halluzinieren, was dazu führen kann, dass Chatbots unsachliche, aber glaubwürdig klingende Antworten geben.
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.
Wie kann AWS Ihre Anforderungen an Vektordatenbanken unterstützen?
Amazon Web Services (AWS) bietet viele Services für Ihre Vektordatenbankanforderungen:
- Amazon OpenSearch Service vereinfacht die Durchführung von interaktiver Protokollanalytik, Anwendungsüberwachung in Echtzeit, Website-Suche und mehr. Für Vektordatenbanken finden Sie Informationen zur k-Nearest-Neighbor-Suche (k-NN) im OpenSearch Service.
- 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), eine speziell für Graphen entwickelte Technik des ML, verwendet, um einfache, schnelle und genauere Prognosen anhand von Graphdaten zu erstellen.
- Amazon DocumentDB (mit MongoDB-Kompatibilität) unterstützt jetzt die Vektorsuche, eine neue Funktion, mit der Sie Millionen von Vektoren mit Antwortzeiten im Millisekundenbereich speichern, indexieren und durchsuchen können.
- Vector search for Amazon MeDocumoryentDB (with MongoDB compatibility) supports vector search, a new capability that enables you to store, ingdex, and search millions of vectors, with single-digit millisecond query and update response times, and tens of thousands queries per second (QPS) at greater than 99% recall. Mit der Vektorsuche für Amazon DocumentDB können Sie Datenbanken für Ihr ML ganz einfach einrichten, betreiben und skalieren, einschließlich generative KI-Anwendungen.
Beginnen Sie mit Vektordatenbanken in AWS, indem Sie noch heute ein Konto erstellen.
Was sind die Herausforderungen von Vektordatenbanken?
Vektordatenbanken stehen vor vielen der gleichen Herausforderungen wie andere Datenbanktechnologien. Ihre Skalierbarkeit, Näherungsgenauigkeit, Latenzleistung und Wirtschaftlichkeit werden kontinuierlich verbessert.
Da es sich um eine relativ junge Technologie handelt, müssen viele Vektordatenbanken ihre Kernkompetenzen wie Sicherheit, Resilienz, Betriebsunterstützung und Diversifizierung der Workload-Unterstützung ausweiten. Dies wird umso wichtiger, je mehr sich die Anwendungen der künstlichen Intelligenz (KI) entwickeln und mehr als nur eine reine Vektorsuche erfordern.
Nächste Schritte mit AWS
Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.
Starten Sie mit der Entwicklung in der AWS-Managementkonsole.