Freigeben über


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. Die ö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. Dieser Prozess kann wie folgt veranschaulicht werden.

Screenshot des RAG-Musters.

Agentenbasierte RAG: Moderner Ansatz zur Informationsabfrage

Herkömmliche RAG-Muster verwenden eine einzelne Abfrage, um Informationen aus Ihren Daten abzurufen. Der moderne agentische Abruf stellt jedoch eine Weiterentwicklung der RAG-Architektur dar, die große Sprachmodelle verwendet, um komplexe Benutzerabfragen intelligent in mehrere fokussierte Unterabfragen aufzuteilen, sie parallel auszuführen und strukturierte Antworten zurückzugeben, die für Chatabschlussmodelle optimiert sind.

Agentic-Abruf bietet gegenüber klassischem RAG mehrere Vorteile:

  • Kontextbezogene Abfrageplanung – Verwendet den Unterhaltungsverlauf, um Kontext und Absicht zu verstehen.
  • Parallele Ausführung – Führt mehrere fokussierte Unterabfragen gleichzeitig aus, um eine bessere Abdeckung zu ermöglichen.
  • Strukturierte Antworten – Gibt geerdete Daten, Zitate und Ausführungsmetadaten zusammen mit Ergebnissen zurück.
  • Integrierte semantische Rangfolge – Stellt eine optimale Relevanz der Ergebnisse sicher
  • Optionale Antwortsynthese – Kann LLM-formulierte Antworten direkt in die Abfrageantwort einschließen

Agents verwenden Agent-Abruf, um von einer verbesserten Genauigkeit und einem besseren Kontextverständnis zu profitieren.

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. Ein Index löst dieses Problem. Ein Index ist ein Datenspeicher, der es Ihnen ermöglicht, Daten effizient zu durchsuchen. Dieser Index 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 Schlüsselwortsuchen, semantische Suchvorgänge, Vektorsuchen oder eine Kombination dieser Features. Dieses optimierte RAG-Muster kann wie folgt veranschaulicht werden.

Screenshot des RAG-Musters mit Index.

Azure KI stellt eine Indexressource zur Verwendung mit RAG-Mustern bereit. Die Indexressource enthält wichtige Informationen wie:

  • Wo wird Ihr Index gespeichert?
  • Wie greifen Sie auf Ihren Index zu?
  • In welchen Modi kann Ihr Index durchsucht werden?
  • Hat Ihr Index Vektoren?
  • Was ist das Einbettungsmodell, das für Vektoren verwendet wird?

Der Azure AI-Index verwendet Azure AI Search als primären und empfohlenen Indexspeicher. Azure AI Search ist eine Azure-Ressource, die das Abrufen von Informationen über Ihre Vektor- und Textdaten unterstützt, die in Suchindizes und anderen Abfragezielen gespeichert sind, wenn Sie den agentischen Abruf verwenden.