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.

S/4 HANA Speedboat

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].

Production-Ready RAG – kann ich den Antworten trauen?

Der Prozess der Informationsgewinnung und Antwortgenerierung durch Vektordatenbanken in Kombination mit KI-Modellen erfordert Evaluationsmethoden, um die Qualität und Vertrauenswürdigkeit der Antworten sicherzustellen [1]. Dabei stehen vor allem zwei Ziele im Fokus: die Sicherstellung, dass relevante Informationen korrekt abgerufen werden, und die Bewertung, wie präzise und nützlich die generierten Antworten sind.

Die Leistung von RAG-Systemen wird bewertet, indem untersucht wird, wie effektiv relevante Informationen herausgefiltert und wie gut diese in der Antwort genutzt werden. Entscheidend ist, dass der abgerufene Kontext zur Fragestellung passt, dass Antworten genau und nachvollziehbar sind und dass irrelevante oder irreführende Informationen zuverlässig ignoriert werden.

Aktuelle Methoden umfassen manuelle und automatisierte Tests, die helfen, die Prozesse nachvollziehbarer zu machen und die Zuverlässigkeit zu steigern. Zukünftig wird die Forschung daran arbeiten, Evaluationsansätze weiterzuentwickeln, um gezielt mit spezifischen Herausforderungen wie widersprüchlichen Daten umzugehen [1].

ZUSAMMENFASSUNG UND AUSBLICK

Vektordatenbanken bieten eine innovative Lösung für die Verwaltung unstrukturierter Daten, die in modernen Anwendungen wie generativer KI eine zentrale Rolle spielen. Durch die semantische Suche und den Einsatz von Embeddings ermöglichen sie eine effiziente Extraktion und Nutzung von Informationen, die herkömmliche Datenbanken nicht leisten können. Besonders in Verbindung mit Retrieval-Augmented Generation (RAG) bieten Vektordatenbanken eine vielversprechende Möglichkeit, die Genauigkeit und Relevanz von Antworten generativer KI zu verbessern, indem sie maßgeschneiderte Kontexte bereitstellen.

Mit zunehmender Verbreitung dieser Technologien wird erwartet, dass Vektordatenbanken auch in Zukunft einen zentralen Platz in der Verwaltung unstrukturierter Daten und KI-Anwendungen einnehmen.

Vektordatenbanken haben das Potenzial, die Zukunft der Datenverarbeitung und KI maßgeblich zu beeinflussen, insbesondere für Unternehmen, die unstrukturierte Daten effizient nutzen möchten. Mit fortschreitender Forschung zur Evaluierung und Minimierung von Fehlerquellen bleibt abzuwarten, wie diese Technologie weiter verbessert und verbreitet wird.

QUELLEN

[1] Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Wang, M., & Wang, H. (2024). Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv preprint arXiv:2312.10997.
[2] „Distributional Structure“ by Zellig Harris (1954).
[3] „The Structure of a Semantic Theory“ by Jerrold Katz and Jerry Fodor (1963).
[4] Papakyriakopoulos, O., Hegelich, S., Medina Serrano, J. C., & Marco, F. (2020). Bias in word embeddings. FAT ’20: Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency*, 446-457. Published: 27 January 2020. https://doi.org/10.1145/3351095.3372843.
[5] LangChain API: SAP HANA Cloud Vector Engine
[6] Technology Blogs by SAP: Under the Hood – Text to SQL with LangChain, LLM’s and Hana
[7] Devtoberfest: Improve RAG performance with Knowledge Graphs, Generative AI Hub and SAP BTP
[8] SAP CodeJam: 🇵🇱 Getting started with Generative AI Hub on SAP AI Core

sprechen sie mit
BENJAMIN HEIL!

Benjamin Heil