Vektordatenbanken: das fehlende bindeglied zwischen unstrukturierten Daten und Ki
Immer häufiger liegen Informationen in Form von Texten, Bildern oder Audiodateien vor, die nicht ohne weiteres in Tabellenform abgelegt und abgefragt werden können. Die bisher in dieser Blog-Reihe vorgestellten Datenbanken eignen sich gut für die Verwaltung von strukturierter Daten, stoßen jedoch bei unstrukturierten Daten, wie Texten, schnell an ihre Grenzen und sind meist auf einfache Key-Value-Suchen beschränkt.
In diesem Blog-Artikel sollen Vektordatenbanken vorgestellt werden, die hierfür eine Lösung bieten: Sie ermöglichen, Texte nach ihrer Bedeutung zu durchsuchen, d.h. eine semantische Suche innerhalb von unstrukturierten Daten ermöglichen. Diese Eigenschaft kann insbesondere in Kombination mit sprachbasierten KI-Modellen, wie Large Language Models (LLMs), dazu genutzt werden, um maßgeschneiderte KI-Anwendungen zu entwickeln, die auf spezifische Fragen präzise Antworten liefern, und zwar ohne aufwendiges Training.
Benjamin Heil, Senior Consultant Data Management
Vektordatenbanken – und was sie mit Vektoren zu tun haben
Vektordatenbanken sind speziell dafür entwickelt worden, unstrukturierte Daten zu durchsuchen. Das wesentliche Unterscheidungsmerkmal von Vektordatenbanken ist die semantische Suche: Sie ermöglichen es, durch natürlich formulierte Fragen relevante Textpassagen zu identifizieren, ohne sich auf einfache Schlüsselwortsuche zu verlassen. Mithilfe von Embeddings, die Textinformationen in numerische Werte umwandeln, können Texte nach ihrer Bedeutung verglichen und analysiert werden.
Ein Embedding ist eine mathematische Repräsentation eines Textes in einem Vektorraum: Textpassagen werden durch Vektoren dargestellt, deren Richtung und Länge Rückschlüsse auf die Bedeutung der Textpassagen zulassen. Im Englischen spricht man hierbei von similarity search. Diese Methode beruht auf der Annahme, dass Wörter, die in einem ähnlichen Kontext verwendet werden, auch eine ähnliche Bedeutung haben [2-3].
Beim Schreibeprozess werden Texte zunächst in kleinere Abschnitte, sogenannte Chunks, unterteilt. Diese Textpassagen werden dann mithilfe von Embeddings in numerische Vektorrepräsentationen überführt. Schließlich werden die erzeugten Vektoren mit den jeweiligen Textpassagen in der Vektordatenbank gespeichert.
Im Suchprozess wird die in natürlicher Sprache formulierte Frage ebenfalls als Vektor dargestellt. Die Vektordatenbank ermittelt dann die Vektoren, die diesem Fragen-Vektor am ähnlichsten sind. Schließlich werden die zugehörigen Textpassagen, die diesen Vektoren angeheftet sind, als Suchergebnis ausgegeben.
Vektordatenbanken – @SAP
SAP bietet mit der HANA Vector Engine und der Unterstützung von LangChain leistungsfähige Werkzeuge für Vektordatenbanken an. Die HANA Vector Engine ermöglicht die Speicherung und Verarbeitung von Vektoren in einer relationalen Datenbank, während LangChain eine API bereitstellt, um auf die HANA-Datenbank zuzugreifen und die semantische Suche durchzuführen [5]. Diese Lösung erleichtert es Unternehmen, unstrukturierte Daten effizient zu verwalten und semantische Suchen in ihren Anwendungen zu integrieren.
In den Quellen sind weiterführende Links zur praktischen Anwendung der HANA Vector Engine und LangChain zu finden [6-8].
Retrieval-Augmented Generation – Boosting KI mit Vektordatenbanken
Generative KI wird zunehmend zur Automatisierung von Unternehmensprozessen eingesetzt. Trotz der beeindruckenden Leistungen dieser Modelle, beruht ihr Wissen auf den zugänglichen Daten. Insbesondere wenn es um die Beantwortung von Fragen geht, die außerhalb dieser Trainingsdaten liegen, neigen die Modelle dazu, falsche oder irrelevante Informationen zu generieren. Der Begriff ‚Halluzination‘ hat sich für dieses Phänomen etabliert [1].
Wie zuvor beschrieben, können Vektordatenbanken mit natürlicher Sprache abgefragt werden. Die Ergebnisse der Suche, sind relevante Textpassagen, die der KI bei der Generierung der Antworten als Unterstützung dienen können. Den Prozess nennt man Retrieval-Augmented Generation (RAG).
RAG ist eine vielversprechende Methode, die Leistungsfähigkeit insbesondere in Bereichen zu steigern, die wenig oder gänzlich unzugängliches Wissen beinhalten. Das Prinzip ist sehr einfach: Man ergänzt die Anfrage an die LLMs gezielt mit relevanten Informationen. Man spricht dann von der Anreicherung des Kontextes, was Halluzinationen erheblich reduzieren kann [1]. Zur Anreicherung können im Grunde sämtliche Informationsquellen verwendet werden, Vektordatenbanken sind allerdings besonders geeignet, da durch die semantische Suche Textquellen ohne weitere Aufbereitung verwendet werden können. Durch die direkte Einspeisung der Informationen über den Kontext ist kein aufwendiges Training notwendig, sodass es möglich ist, individuelle KI-Anwendungen auch für kleine und mittelständische Unternehmen zu entwickeln.
Tools wie LangChain und die HANA Vector Engine stellen hierfür eine leistungsfähige Infrastruktur bereit, um mit einfachen Mitteln leistungsfähige und spezialisierte KI-Anwendungen zu entwickeln. Dank der Vielzahl von Open-Source LLMs, darunter auch State-of-the-Art LLMs wie LLAMA3, ist es möglich, die Anreicherung des Kontextes mit Vektordatenbanken lokal zu hosten, sodass sensible Daten nicht über die Unternehmensgrenzen an Dritte weitergegeben werden müssen.
VORTEILE
– Extraktion von Informationen aus unstrukturierten Daten:
Embeddings ermöglichen es, Textabschnitte nach ihrer Bedeutung zu vergleichen. So können Texte mit alltagssprache durchsucht werden. Vektordatenbanken liefern dann die Textpassagen mit der höchsten Relevanz für die Beantwortung der Frage.
– Verknüpfung von Generativer KI und speziellen Wissen:
In Verbindung mit generativer KI ermöglichen Vektordatenbanken die Anreicherung des Kontexts mit relevanten Informationen, um auch bei speziellem Domänenwissen oder sensiblen Daten, d.h. abseits der Trainingsdaten, präzise Antworten zu liefern.
NACHTEILE
– Zusätzliche Expertise erforderlich:
Die Nutzung in Kombination mit generativer KI erfordert zusätzliche Expertise, um eine gewisse Qualität der Antworten zu gewährleisten.
– Verzerrungen in Embeddings:
Historische Daten können Verzerrungen in den Embeddings verursachen, was zu unerwünschten Ergebnissen führt, wie etwa geschlechtsspezifischen Stereotypen. Beispielsweise wird das Wort „Arzt“ in vielen Embeddings mit „Mann“ assoziiert, was auf geschlechtsspezifische Stereotypen zurückzuführen ist [4].