Das AI Edge RAG SDK bietet die grundlegenden Komponenten zum Erstellen einer Retrieval Augmented Generation (RAG)-Pipeline mit der LLM Inference API. Eine RAG-Pipeline bietet LLMs Zugriff auf von Nutzern bereitgestellte Daten, die aktualisierte, sensible oder domänenspezifische Informationen enthalten können. Mit den zusätzlichen Funktionen zur Informationsabfrage von RAG können LLMs genauere und kontextbezogenere 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. Folgen Sie der Android-Anleitung, um mit der Verwendung des SDKs zu beginnen. Dort wird eine grundlegende Implementierung einer Beispielanwendung mit RAG veranschaulicht.
RAG-Pipeline
Die Einrichtung 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 verwendet.
- Daten aufteilen und indexieren: Die Daten werden in kleine Blöcke aufgeteilt, um sie in einer Datenbank zu indexieren.
- Einbettungen generieren: Mit einem Einbettungstool können Sie die Blöcke vektorisieren, um sie in einer Vektordatenbank zu speichern.
- Informationen abrufen: Hier legen Sie fest, wie relevante Informationen identifiziert und abgerufen werden, um Nutzeranfragen zu beantworten. Für einen bestimmten Prompt durchsucht die Abrufkomponente die Vektordatenbank, um relevante Informationen zu finden.
- Text mit LLM generieren: Mit einem Large Language Model wird anhand der Informationen aus der Vektordatenbank Ausgabetext generiert.
Wichtige Module
Das AI Edge RAG SDK bietet die folgenden wichtigen Module und APIs für die RAG-Pipeline:
- Sprachmodelle: LLM-Modelle mit Open-Prompt-API, entweder lokal (auf dem Gerät) oder serverbasiert. Die API basiert auf der LanguageModel-Schnittstelle.
- Texteinbettungsmodelle: Hiermit werden strukturierter und unstrukturierter Text in Einbettungsvektoren für die semantische Suche umgewandelt. Die API basiert auf der Embedder.
- Vektorspeicher: Der Vektorspeicher enthält die Einbettungen und Metadaten, die aus Datenchunks abgeleitet wurden. Es kann abgefragt werden, um ähnliche oder genau übereinstimmende Code-Chunks zu erhalten. Die API basiert auf der VectorStore-Schnittstelle.
- Semantisches Gedächtnis: Dient als semantischer Retriever, um bei einer Abfrage die Top-K-relevanten Chunks abzurufen. Die API basiert auf der SemanticMemory-Schnittstelle.
- Text-Chunking: Nutzerdaten werden in kleinere Teile aufgeteilt, um die Indexierung zu erleichtern. Die API basiert auf der TextChunker-Schnittstelle.
Das SDK bietet Ketten, in denen mehrere RAG-Komponenten in einer einzigen Pipeline kombiniert werden. Mithilfe von Ketten können Sie Abruf- und Abfragemodelle orchestrieren. Die API basiert auf der Chain-Schnittstelle. Probieren Sie als Erstes die Abfolge „Abruf und Inferenz“ oder die Abfolge „Abruf“ aus.