Das AI Edge RAG SDK bietet die grundlegenden Komponenten zum Erstellen einer RAG-Pipeline (Retrieval-Augmented Generation) mit der LLM Inference API. Eine RAG-Pipeline bietet LLMs Zugriff auf von Nutzern bereitgestellte Daten, die aktualisierte, vertrauliche oder domänenspezifische Informationen enthalten können. Durch die zusätzlichen Funktionen zum Abrufen von Informationen von RAG können LLMs genauere und kontextbezogene Antworten für bestimmte Anwendungsfälle generieren.
Das AI Edge RAG SDK ist für Android verfügbar und kann vollständig auf dem Gerät ausgeführt werden. Android-Anleitung für die ersten Schritte mit dem SDK. Dort wird eine einfache Implementierung einer Beispielanwendung mit RAG beschrieben.
RAG-Pipeline
Das Einrichten einer RAG-Pipeline mit dem AI Edge RAG SDK umfasst die folgenden wichtigen Schritte:
- Daten importieren: Geben Sie die Textdaten an, die das LLM beim Generieren der Ausgabe verwenden soll.
- Daten aufteilen und indexieren: Teilen Sie die Daten in kleine Blöcke auf, um sie in einer Datenbank zu indexieren.
- Einbettungen generieren: Verwenden Sie einen Embedder, um die Chunks zu vektorisieren und in einer Vektordatenbank zu speichern.
- Informationen abrufen: Definieren Sie, wie relevante Informationen identifiziert und abgerufen werden, um auf Nutzeranfragen zu reagieren. Bei einem bestimmten Prompt durchsucht die Abrufkomponente die Vektordatenbank, um relevante Informationen zu finden.
- Text mit LLM generieren: Verwenden Sie ein Large Language Model, um Ausgabetext basierend auf den aus der Vektordatenbank abgerufenen Informationen zu generieren.
Wichtige Module
Das AI Edge RAG SDK bietet die folgenden wichtigen Module und APIs für die RAG-Pipeline:
- Sprachmodelle: Die LLM-Modelle mit Open-Prompt-API, entweder lokal (auf dem Gerät) oder serverbasiert. Die API basiert auf der LanguageModel-Schnittstelle.
- Texteinbettungsmodelle: Konvertieren Sie strukturierten und unstrukturierten Text in Einbettungsvektoren für die semantische Suche. Die API basiert auf der Embedder-Schnittstelle.
- Vektorspeicher: Der Vektorspeicher enthält die Einbettungen und Metadaten, die aus Datenblöcken abgeleitet werden. Sie kann abgefragt werden, um ähnliche Blöcke oder genaue Übereinstimmungen zu erhalten. Die API basiert auf der VectorStore-Schnittstelle.
- Semantischer Speicher: Dient als semantischer Retriever zum Abrufen der k wichtigsten relevanten Chunks für eine bestimmte Anfrage. Die API basiert auf der SemanticMemory-Schnittstelle.
- Aufteilung von Text in Chunks: Nutzerdaten werden in kleinere Teile aufgeteilt, um die Indexierung zu erleichtern. Die API basiert auf der TextChunker-Schnittstelle.
Das SDK bietet Chains, die mehrere RAG-Komponenten in einer einzigen Pipeline kombinieren. Sie können Chains verwenden, um Abruf- und Abfragemodelle zu orchestrieren. Die API basiert auf der Chain-Schnittstelle. Probieren Sie zum Einstieg die Retrieval and Inference-Kette oder die Retrieval-Kette aus.