Aaron Ricadela | Senior Writer | 15. April 2024
Entwicklungsteams, die Anwendungen für die Ähnlichkeitssuche mit Large Language Models und unstrukturierten Datensätzen aufbauen, setzen zunehmend auf Vektordatenbanken, die darauf ausgelegt sind, die Merkmale von Millionen oder Milliarden Datenpunkten schnell zu vergleichen.
Diese neue Generation spezialisierter Vektordatenbanken von Unternehmen wie Chroma, Pinecone, Qdrant, Weaviate und Zilliz analysiert Beziehungen zwischen Vektoreinbettungen, die unstrukturierte Inhalte in einem hochdimensionalen mathematischen Raum abbilden und so semantische Zusammenhänge innerhalb der Daten sichtbar machen. Vektordatenbanken treiben KI-Anwendungen an, die Bild- und Videoinhalte durchsuchen, Produkte oder Streamingangebote empfehlen, relevantere Informationen basierend auf Nutzerintentionen finden oder KI-Chatbots über Retrieval-Augmented Generation (RAG) mit proprietären Unternehmensdaten anreichern. Ihre Stärke liegt im Finden von Approximate-Nearest-Neighbor-(ANN)-Übereinstimmungen in großen Datensätzen.
Die Open-Source-Datenbank Chroma, entwickelt vom gleichnamigen Startup aus San Francisco, ermöglicht den Aufbau von Anwendungen wie ANN-Suche, Bildretrieval, RAG und E-Commerce-Empfehlungssystemen. Sie gilt als leichte Vektordatenbank, die sich sowohl auf einem Laptop für schnelles Prototyping als auch in öffentlichen oder privaten Cloud-Umgebungen ausführen lässt. Chroma nutzt das Apache-Arrow-Datenformat für schnellen Datenzugriff.
Entwicklungsteams können Chroma im Client/Server-Betrieb auf einem einzelnen Knoten ausführen und es über einen Docker-Container oder eine gehostete Maschine in einer Public Cloud bereitstellen. Alternativ lässt sich die Datenbank über Chroma Cloud, den Managed Service des Unternehmens, betreiben – mit Bereitstellungen auf Amazon Web Services, Google Cloud Platform und Microsoft Azure. Chroma steht unter der Apache-2.0-Lizenz und kann daher auch kommerziell genutzt werden.
Die entwicklerfreundliche Datenbank unterstützt Embedding-Modelle von OpenAI, Google, Cohere, Hugging Face und weiteren Anbietern. Sie bietet Python- und JavaScript-Integrationen für LangChain, LlamaIndex und Braintrust sowie Python-Integrationen für KI-Tools wie Streamlit. Chroma stellt Clients für verschiedene Programmiersprachen bereit, darunter Python, JavaScript, Ruby, Java, Go, C#, Elixir und Rust.
Die AI Vector Search in Oracle Database 23ai bietet deutlich umfassendere Optionen für High Availability und Sicherheit als Chroma und andere eigenständige Vektordatenbanken. Oracle Virtual Private Database und Oracle Label Security ermöglichen es Unternehmen, den internen Datenzugriff basierend auf Rollen oder Berechtigungsstufen zu steuern. Oracle Real Application Clusters lassen Datenbankinstanzen in einem Servercluster laufen und sorgen so für Fehlertoleranz und Lastverteilung. Oracle Active Data Guard repliziert Daten nahezu in Echtzeit auf eine Standby-Datenbank und verhindert so Datenverlust bei ungeplanten Ausfällen.
Oracle Database 23ai kann zudem Vektorsuchen optimieren, indem das System entscheidet, ob zusätzliche Filter — häufig in relationalen Spalten gespeichert — vor, während oder nach der Vektorsuche angewendet werden sollten. Das bedeutet: Wenn eine Anwendung für die Ähnlichkeitssuche eine Top-K-Ergebnisliste liefert, kann Oracle Database festlegen, ob diese Ergebnisse basierend auf relationalen Attributen der Daten weiter eingegrenzt werden — und zwar zum optimalen Zeitpunkt im Suchprozess.
Erfahren Sie, wie KI besseren Zugriff auf Ihre Daten erhält, Ergebnisse verbessert und die Nutzung vereinfacht.
Was ist Chroma und wie funktioniert es?
Chroma ist eine leichtgewichtige Vektordatenbank zur Entwicklung von Anwendungen, die auf Ähnlichkeitssuchen im Vektoreinbettungsraum basieren. Sie umfasst eine Objektspeicherschicht, die die Kosten für das Bereitstellen von Vektorindizes für die Ähnlichkeitssuche reduziert.
Was unterscheidet Chroma von anderen Vektordatenbanken?
Die Chroma-Datenbank richtet sich an Entwickler, die an kleineren Projekten arbeiten. Sie lässt sich auf einem Laptop installieren und ermöglicht so schnelles Prototyping ohne große Hardwareanforderungen. Zudem unterstützt sie eine breite Palette an Programmiersprachen und KI-Tools.
Kann Chroma sowohl strukturierte als auch unstrukturierte Daten verarbeiten?
Chroma ist für das Speichern und Durchsuchen von Vektoreinbettungen konzipiert und nicht für die Verarbeitung strukturierter, relationaler Daten ausgelegt.
Ist Chroma Open Source?
Ja, Chroma steht unter der Open-Source-Lizenz Apache 2.0, die es Nutzern erlaubt, den Code in eigenen Produkten weiterzuverwenden.