Share via


Retrieval Augmented Generation und Indizes

Hinweis

Azure KI Studio befindet sich derzeit in der öffentlichen Vorschau. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

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 Muster in KI, 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.

Screenshot of the RAG pattern.

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. Dazu wird ein Index verwendet. Ein Index ist ein Datenspeicher, mit dem Sie Daten effizient durchsuchen können. Dies ist bei RAG sehr nützlich. Ein Index kann für LLMs optimiert werden, indem Vektoren erstellt werden (Text/Daten, 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.

Screenshot of the RAG pattern with index.

Azure KI stellt eine Indexressource zur Verwendung mit RAG-Mustern bereit. Die Indexressource enthält wichtige Informationen, z. B. wo Ihr Index gespeichert ist, wie auf Ihren Index zugegriffen werden kann, in welchen Modi Ihr Index durchsucht werden kann, ob Ihr Index Vektoren enthält, welches Einbettungsmodell für Vektoren verwendet wird usw. Der Azure KI-Index verwendet Azure KI Search als primären/empfohlenen Indexspeicher. Azure KI Search ist eine Azure-Ressource, die das Abrufen von Informationen über Ihre in Suchindizes gespeicherten Vektor- und Textdaten unterstützt.

Der Azure KI-Index unterstützt auch FAISS (Facebook AI Similarity Search), eine Open Source-Bibliothek, die einen lokalen dateibasierten Speicher bereitstellt. FAISS unterstützt nur Vektorsuchfunktionen und wird nur über das SDK unterstützt.

Nächste Schritte