Retrieval Augmented Generation und Indizes
In diesem Artikel geht es um die Bedeutung und Notwendigkeit von Retrieval Augmented Generation (RAG) und Indizes für generative KI.
Was ist RAG?
Zunächst einige Grundlagen. Große Sprachmodelle (Large Language Models, LLMs) wie ChatGPT werden mit öffentlichen Internetdaten trainiert, die zum Zeitpunkt des Trainings verfügbar waren. Sie können Fragen im Zusammenhang mit den Daten beantworten, mit denen die trainiert wurden. Diese öffentlichen Daten reichen möglicherweise nicht aus, um alle Ihre Anforderungen zu erfüllen. Möglicherweise möchten Sie Fragen basierend auf Ihren privaten Daten beantwortet haben. Oder die öffentlichen Daten sind möglicherweise nicht mehr aktuell. Die Lösung für dieses Problem ist Retrieval Augmented Generation (RAG), ein in der künstlichen Intelligenz (KI) verwendetes Muster, das ein LLM verwendet, um Antworten mit Ihren eigenen Daten zu generieren.
Wie funktioniert RAG?
RAG ist ein Muster, das Ihre Daten mit einem LLM verwendet, um spezifische Antworten für Ihre Daten zu generieren. Wenn ein*e Benutzer*in eine Frage stellt, wird der Datenspeicher anhand der Benutzereingabe durchsucht. Die Benutzerfrage wird dann mit den übereinstimmenden Ergebnissen kombiniert und mithilfe einer Eingabeaufforderung (explizite Anweisungen an ein KI- oder Machine Learning-Modell) an das LLM gesendet, um die gewünschte Antwort zu generieren. Dies kann wie folgt veranschaulicht werden.
Was ist ein Index, und warum benötige ich ihn?
RAG verwendet Ihre Daten, um Antworten auf die Benutzerfrage zu generieren. Damit RAG gut funktioniert, müssen wir eine Möglichkeit finden, Ihre Daten auf einfache und kostengünstige Weise zu durchsuchen und an die LLMs zu senden. Hierzu wird ein Index verwendet. Ein Index ist ein Datenspeicher, der es Ihnen ermöglicht, Daten effizient zu durchsuchen. Dies ist bei RAG sehr nützlich. Ein Index kann für LLMs optimiert werden, indem Vektoren erstellt werden (Textdaten, die mithilfe eines Einbettungsmodells in Zahlenfolgen umgewandelt werden). Ein guter Index verfügt in der Regel über effiziente Suchfunktionen wie Stichwortsuchen, semantische Suchen, Vektorsuchen oder eine Kombination dieser Suchen. Dieses optimierte RAG-Muster kann wie folgt veranschaulicht werden.
Azure KI stellt eine Indexressource zur Verwendung mit RAG-Mustern bereit. Die Indexressource enthält wichtige Informationen, etwa wo der Index gespeichert ist, wie auf den Index zugegriffen werden kann, in welchen Modi der Index durchsucht werden kann, ob der Index Vektoren enthält, welches Einbettungsmodell für Vektoren verwendet wird usw. Der Azure KI-Index verwendet Azure KI-Suche als primären und empfohlenen Indexspeicher. Azure KI Search ist eine Azure-Ressource, die das Abrufen von Informationen über Ihre in Suchindizes gespeicherten Vektor- und Textdaten unterstützt.