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.
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.
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.
We’re excited to officially launch LlamaParse, the first genAI-native document parsing solution.
— LlamaIndex ?? (@llama_index) March 13, 2024
Not only is it better at parsing out images/tables/charts ???? than virtually every other parser, it is now steerable through natural language instructions - output the document in… pic.twitter.com/6KCpS6UoR0
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.
We’re excited to present a complete revamp of LlamaHub ?? - a central hub of community-driven modules to kickstart your LLM app ??
— LlamaIndex ?? (@llama_index) December 7, 2023
It has the following key features:
??Universal data loaders: Our data loaders now interop with all other major LLM frameworks (@vectorflowhq,… pic.twitter.com/Ecp648f8pK
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.
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.
Spezifische Hilfestellungen zu den einzelnen Teilen von LlamaIndex finden Sie hier. Wie die nachfolgenden Screenshots verdeutlichen, ist das auch nötig.
LlamaIndex installieren
Die Python-Version von LlamaIndex lässt sich auf drei Arten installieren:
über den Quellcode im GitHub-Repository,
mit der
llama-index
-Starter-Methode oderü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.
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.