LlamaIndex angetestet

20.06.2024
Von 
Martin Heller schreibt als freier Autor für die Schwesterpublikation InfoWorld.
LlamaIndex verspricht, Ihre Enterprise-Daten in produktionsreife LLM-Applikationen zu verwandeln. Lesen Sie, ob das Daten-Framework liefern kann.
Das quelloffene Daten-Framework LlamaIndex stellt Anwendern Aussicht, das Thema Generative AI (etwas) gelassener angehen zu können.
Das quelloffene Daten-Framework LlamaIndex stellt Anwendern Aussicht, das Thema Generative AI (etwas) gelassener angehen zu können.
Foto: bchyla | shutterstock.com

Das Open-Source-Framework LlamaIndex ist darauf konzipiert, seine Anwender dabei zu unterstützen, kontextbezogene Applikationen auf Basis von Large Language Models (LLMs) zu entwickeln und dabei ihre eigenen Daten einzusetzen. Beispiele für solche kontextbezogenen KI-Applikationen sind beispielsweise generative Chatbots, die Fragen zu Texten beantworten oder autonome Agenten.

LlamaIndex konkurriert dabei im Wesentlichen mit:

In diesem Artikel beschäftigen wir uns näher mit den Funktionen, Komponenten und Tools von LlamaIndex und sagen Ihnen, wie das Framework in der Praxis performt.

Die Features von LlamaIndex

LlamaIndex steht derzeit in drei- beziehungsweise zweierlei Form zur Verfügung:

  • als Open-Source-Framework, wahlweise in Python oder TypeScript, sowie

  • in Form des SaaS-Angebots LlamaCloud, das sich derzeit in der Private Preview befindet.

Darüber hinaus ist LlamaIndex auf Anfrage auch als "schlüsselfertige Enterprise-Lösung" verfügbar. Das Daten-Framework lässt sich mit mehr als 40 Vector Stores, 40 LLMs und über 160 Datenquellen integrieren.

Das LlamaIndex-Framework unterstützt Sie dabei, eigene Daten, Embeddings, LLMs, Vektodatenbanken und Evaluierungen mit Applikationen zu verbinden.
Das LlamaIndex-Framework unterstützt Sie dabei, eigene Daten, Embeddings, LLMs, Vektodatenbanken und Evaluierungen mit Applikationen zu verbinden.
Foto: Martin Heller | IDG

Mit den Tools die das Daten-Framework zur Verfügung stellt, ermöglicht es:

  • Datenkonnektoren, Ihre existierenden Datensätze aus ihren nativen Quellen und in ihrem ursprünglichen Format zu verarbeiten.

  • Datenindizes - auch Embeddings genannt -, die Daten in intermediäre Repräsentationen zu strukturieren.

  • Engines Natural-Language-Zugriff auf die Daten zu gewähren, um beispielsweise Fragen zu diesen beantworten zu können.

  • autonome Agenten aufzusetzen.

  • die Performance von LLM-Applikationen zu testen und zu evaluieren.

LlamaIndex-Komponenten und -Tools

Im Folgenden werfen wir einen Blick auf einige wichtige Komponenten und Tools von LlamaIndex.

LlamaParse

Diese proprietäre Komponente von LlamaCloud ermöglicht es, PDFs in strukturierte Daten zu parsen. Sie ist in Form einer (Standalone) REST-API, als Python Package oder über ein Web-UI verfügbar und befindet sich derzeit in der Public Preview.

LlamaHub

Geht es um Integration, bietet LlamaHub Zugang zu einer umfassenden Collection in diesem Bereich. Dazu gehören Agenten, Callbacks, Data Loaders, Embeddings und 17 weitere Kategorien.

create-llama CLI

Dieses Kommandozeilen-Tool generiert LlamaIndex-Applikationen und bietet einen schnellen Weg, erste Schritte mit dem Daten-Framework zu gehen. So erzeugte Anwendungen verfügen über ein Frontend auf Next.js-Basis und stellen drei Backend-Optionen zur Wahl.

RAG CLI

Dieses Befehlszeilen-Tool ermöglicht den Anwendern, mit großen Sprachmodellen über Dateien zu chatten, die lokal auf dem Rechner gespeichert sind. Das ist nur einer von diversen LlamaIndex-Anwendungsfällen - allerdings der gängigste.

LlamaIndex Component Guides

Spezifische Hilfestellungen zu den einzelnen Teilen von LlamaIndex finden Sie hier. Wie die nachfolgenden Screenshots verdeutlichen, ist das auch nötig.

Die Component Guides dokumentieren die (zahlreichen) Einzelteile des LlamaIndex-Frameworks.
Die Component Guides dokumentieren die (zahlreichen) Einzelteile des LlamaIndex-Frameworks.
Foto: Martin Heller | IDG
In diesem Beispiel geht es um Usage Patterns für Prompts - genauer gesagt um einen Zero-shot Prompt, der die KI im Shakespeare-Stil antworten lässt.
In diesem Beispiel geht es um Usage Patterns für Prompts - genauer gesagt um einen Zero-shot Prompt, der die KI im Shakespeare-Stil antworten lässt.
Foto: Martin Heller | IDG

LlamaIndex installieren

Die Python-Version von LlamaIndex lässt sich auf drei Arten installieren:

  1. über den Quellcode im GitHub-Repository,

  2. mit der llama-index-Starter-Methode oder

  3. über llama-index-core inklusive ausgewählten Integrationen.

Zweitgenannte Option würde folgendermaßen aussehen:

pip install llama-index

Über diesen Befehl werden neben dem LlamaIndex-Kern auch Sprachmodelle und Embeddings von OpenAI bei der Installation mit einbezogen - insofern Sie einen API Key mitbringen. Das Starter Tutorial (OpenAI) von LlamaIndex bietet einen guten Überblick. Im GitHub-Repository zum Projekt finden Sie viele weitere Beispiele zu Experimentier- und Lernzwecken.

Die benutzerdefinierte Installation (Option 3) könnte in etwa so aussehen:

pip install llama-index-core llama-index-readers-file llama-index-llms-ollama llama-index-embeddings-huggingface

Hiermit wird eine Schnittstelle zu Ollama und Hugging Face Embeddings. Auch zu dieser Installation existiert ein Tutorial.

Unabhängig davon, wie Sie mit LlamaIndex starten, können Sie jederzeit weitere Schnittstellenmodule über pip hinzufügen.

Ein Vorteil der TypeScript-Version von LlamaIndex: Beispiele können Sie online auf StackBlitz ausführen, ohne sie lokal einrichten zu müssen. Einen OpenAI-API-Key brauchen Sie dennoch.

Nachdem die Terminal-Umgebung mit dem OpenAI-Key eingerichtet war, haben wir essay.ts ausgeführt um ein entsprechendes File zu generieren - während chatEngine.ts ermöglicht, Fragen zum Essay zu stellen.
Nachdem die Terminal-Umgebung mit dem OpenAI-Key eingerichtet war, haben wir essay.ts ausgeführt um ein entsprechendes File zu generieren - während chatEngine.ts ermöglicht, Fragen zum Essay zu stellen.
Foto: Martin Heller | IDG

Das Testfazit zu LlamaIndex

Wie Sie gesehen haben, ist LlamaIndex relativ einfach zu benutzen. Beim Test des Frameworks konnten wir keine nennenswerten Probleme feststellen - es bietet robuste Unterstützung dabei, LLM-Applikationen für Chat-, Datenextraktions- , Semantic-Search-Zwecke oder Agenten zu erstellen. Leider konnten wir das SaaS-Angebot Llama Cloud nicht testen.

Eine allgemeine Empfehlung für LlamaIndex auszusprechen, ist dennoch schwierig - schließlich kommt es immer auf die jeweiligen Anforderungen an. Idealerweise testen respektive evaluieren Sie LlamaIndex zusammen mit seinen Konkurrenten. Es ist sehr wahrscheinlich, dass mehrere Frameworks Ihre Anforderungen erfüllen. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.