Eine Vektordatenbank ist eine Datenbank, in der Sie Vektoreinbettungen oder numerische Darstellungen unstrukturierter Daten wie Text, Bilder oder Audio speichern, indexieren und abfragen können.
Google Cloud bindet diese Funktionen der Enterprise-Klasse direkt in seine verwalteten Dienste ein, darunter AlloyDB for PostgreSQL, Spanner und BigQuery. So können Sie intelligente Anwendungen entwickeln, ohne eine separate Infrastruktur verwalten zu müssen.
Vektoreinbettungen sind numerische Darstellungen von Daten, die in der Regel als Arrays von Gleitkommazahlen definiert werden. Sie übersetzen komplexe, unstrukturierte Daten wie Text, Bilder oder Audio in ein Format, das von Machine-Learning-Modellen verarbeitet werden kann.
Durch die Zuordnung dieser Daten zu einem Vektorraum erfassen Einbettungen die semantische Bedeutung. Ähnliche Elemente werden näher beieinander positioniert, während unähnliche Elemente weiter voneinander entfernt sind. Diese räumliche Beziehung hilft Systemen, Verbindungen zwischen Datenpunkten basierend auf Kontext und Bedeutung zu identifizieren, anstatt nur auf Übereinstimmungen mit Schlüsselwörtern.
Während einige spezialisierte Datenbanken nur Vektoreinbettungen unterstützen, unterstützen andere neben Vektoreinbettungen viele verschiedene Daten- und Abfragetypen. Dies ist entscheidend, um Anwendungen für generative KI auf der Grundlage von umfangreichen, realen Daten zu erstellen. Da die Vorteile der semantischen Abfrage mithilfe von Vektoreinbettungen deutlich werden, werden die meisten Datenbanken Vektoren unterstützen. Wir gehen davon aus, dass in Zukunft jede Datenbank eine Vektordatenbank sein wird.
Hier erfahren Sie, wie Sie mit der Vektorsuche von Vertex AI leistungsstarke GenAI-Anwendungen erstellen können. Die Vektorsuche von Vertex AI basiert auf ScaNN, einer skalierbaren und effizienten Vektorsuchtechnologie, die von Google Research entwickelt wurde. Sie eignet sich daher ideal für die Verarbeitung großer Datasets und die Echtzeitsuche. Weitere Informationen zur Vektorsuche und Einbettungen finden Sie in diesem Video. Lesen Sie außerdem diese Kurzanleitung.
Für die effiziente Abfrage einer großen Menge von Vektoren sind spezielle Indizierungs- und Suchstrategien erforderlich, die sich von herkömmlichen Text- oder Zahlenfeldern unterscheiden. Da Vektoren keine einzelne logische Reihenfolge haben, verwenden Vektordatenbanken die folgenden Mechanismen, um Daten abzurufen:
Vektoreinbettungen erfassen die semantische Bedeutung komplexer Daten. In Kombination mit Vektordatenbanken, die eine effiziente Indizierung und Abfrage ermöglichen, können Entwickler eine Vielzahl intelligenter Anwendungen und Datenverarbeitungstools erstellen.
Entwickler können Vektordatenbanken als externe Wissensdatenbank für Large Language Models (LLMs) verwenden. Durch das Abrufen relevanter, proprietärer Kontextinformationen vor dem Senden eines Prompts an das Modell können Anwendungen Halluzinationen reduzieren und faktisch korrekte, domänenspezifische Antworten liefern. Das ist wichtig für die Entwicklung von KI-gestützten Kundenservicemitarbeitern, Analysetools für Rechtsdokumente und interne Wissensmanagementsysteme.
Vektordatenbanken ermöglichen es Entwicklern, Personalisierungssysteme zu erstellen, die über kollaboratives Filtern hinausgehen. Indem Nutzerverhalten und Produktattribute als Vektoren dargestellt werden, können Anwendungen ähnliche Artikel identifizieren oder Nutzern in Echtzeit Inhalte zuordnen, die ihren Vorlieben entsprechen. Diese Architektur unterstützt Produktvorschläge für E-Commerce, Content-Feeds und Empfehlungen für das Medienstreaming.
Im Gegensatz zur herkömmlichen Stichwortsuche ermöglichen Vektordatenbanken semantische Suchanwendungen, die die Nutzerabsicht verstehen. Entwickler können Suchfunktionen erstellen, die es Nutzern ermöglichen, nach Konzepten statt nach exakten Formulierungen zu suchen. Da Vektoren außerdem verschiedene Datentypen im selben Raum darstellen können, lassen sich multimodale Suchtools erstellen. Nutzer können dann beispielsweise mit Textbeschreibungen nach Bildern suchen oder mit einem Eingabebild ähnliche Dokumente finden.
Vektordatenbanken können dabei helfen, unregelmäßige Muster in riesigen Datasets zu erkennen. Durch die Einrichtung eines Vektorraums, der „normales“ Verhalten oder normale Transaktionen darstellt, können Entwickler programmatisch Ausreißer erkennen, die weit von den etablierten Clustern entfernt sind. Diese Funktion ist entscheidend für die Entwicklung von Systemen zur Erkennung von Finanzbetrug, Tools zur Überwachung der Netzwerksicherheit und Systemdiagnosen für die IT-Infrastruktur.
In Data-Engineering-Workflows können Vektordatenbanken dazu beitragen, unterschiedliche Datasets zu bereinigen und zu vereinheitlichen. Durch den Vergleich von Einbettungen von Kundendatensätzen oder Produktangeboten können Systeme doppelte Einträge erkennen, auch wenn der Text leicht variiert (z. B. „Hauptstr.“ vs. „Hauptstraße“). So können Unternehmen eine einheitliche, korrekte Ansicht ihrer Daten erhalten.
AlloyDB for PostgreSQL kombiniert die Kompatibilität von PostgreSQL mit der skalierbaren Infrastruktur von Google. Es bietet integrierten Support für Vektoreinbettungen über die Standarderweiterung pgvector und erweitert diesen mit dem ScaNN-Index von Google. Dies ermöglicht schnellere Vektorabfragen und Inline-Filterung, wodurch hybride Suchen optimiert werden können, indem Vektorähnlichkeit und Metadatenfilter gleichzeitig ausgewertet werden, um eine bessere Leistung zu erzielen.
Beispiel: Hybridsuche nach Immobilien
In einer Immobilien-App wollen Nutzer Häuser nach „Atmosphäre“ suchen (z. B. „Mid-Century Modern mit viel Tageslicht“), während sie gleichzeitig strenge Einschränkungen angeben (z. B. „3 Schlafzimmer“, „unter 800.000 $“, „im Schulbezirk A“).
Google Cloud integriert Vektorsuchfunktionen direkt in seine zentralen Datenbankdienste, sodass Sie generative KI mit Ihren vorhandenen Daten und Workflows operationalisieren können.
Spanner, die global verteilte Datenbank von Google, unterstützt die Vektorsuche für transaktionale Anwendungen. Sie ermöglicht eine hochverfügbare, skalierbare Vektorsuche mit exakten und ungefähren Algorithmen für die Suche nach dem nächsten Nachbarn. So können globale Anwendungen Funktionen wie Echtzeit-Empfehlungen oder semantische Suche implementieren und gleichzeitig strenge Konsistenz und Zuverlässigkeit beibehalten.
Beispiel: Empfehlungen in Echtzeit im Bereich E-Commerce
Eine globale E-Commerce-Plattform möchte ein Empfehlungssystem entwickeln, das vage Nutzeranfragen wie „beste Wanderschuhe für Regenwetter“ verarbeiten kann und die sofortige Produktverfügbarkeit prüft.
Mit BigQuery können Sie Vektoranalysen für riesige Datasets durchführen, ohne Daten aus Ihrem Data Warehouse zu verschieben. Mit der Funktion VECTOR_SEARCH können Sie Ähnlichkeitssuchen mit Standard-SQL ausführen. Das ist besonders nützlich für analytische Anwendungsfälle, etwa um Kunden anhand ihres Verhaltens zu gruppieren oder ähnliche Produkttrends in Milliarden von Datenzeilen zu erkennen.
Beispiel: Erkennung von Cyberbedrohungen in großem Umfang
Ein Sicherheitsteam muss Petabyte an Serverlogs analysieren, um schädliche Aktivitäten zu erkennen. Angreifer modifizieren ihren Code oft leicht, um Suchanfragen mit genau passenden Keywords zu umgehen.
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“ Produkte kennenzulernen.