Mit der schnellen Integration generativer KI in den Anwendungsentwicklungsprozess sehen wir einen zunehmenden Bedarf, unsere privaten Daten mit öffentlichen Daten integrieren zu können, die zum Trainieren verwendet werden
In einem aktuellen Webinar zum Thema
In diesem Beitrag erklären wir, wie LlamaIndex als Framework für Datenintegration, Datenorganisation und Datenabruf für alle Ihre privaten datengenerativen KI-Anforderungen verwendet werden kann.
Wie bereits erwähnt, ist LlamaIndex ein Orchestrierungs-Framework oder „Daten-Framework“, das die Erstellung von LLM-Anwendungen vereinfacht. Es bietet die Möglichkeit, private Daten zu erweitern und so in LLMs zur Wissensgenerierung und Argumentation einzubinden. Das Herzstück aller generativen KI-Funktionen sind Daten. Unternehmensanwendungen müssen in der Lage sein, auf mehr als nur die öffentlichen Daten zuzugreifen, auf denen LLMs geschult werden, und müssen strukturierte, unstrukturierte und halbstrukturierte Daten aus all ihren internen und externen Datenquellen für die Erstellung von Anwendungen integrieren.
Es ist diese Datenintegration, die der LlamaIndex bietet. Einbringen von Daten aus mehreren einzigartigen Quellen.
LlamaIndex, früher bekannt als GPT Index, ist ein Framework, das die Tools bereitstellt, die zur Verwaltung des End-to-End-Lebenszyklus für die Erstellung von LLM-basierten Anwendungen erforderlich sind. Die Herausforderung beim Erstellen von LLM-basierten Anwendungen besteht darin, dass sie Daten benötigen, typischerweise aus mehreren unterschiedlichen Quellen, und sofern keine strenge Einhaltung einer gemeinsamen Datendarstellung erfolgt, liegen die erforderlichen Daten in vielen verschiedenen Formaten vor, einige stark strukturiert, andere unstrukturiert und andere in zwischen.
Hier stellt LlamaIndex die Toolbox zur Verfügung, um diese Daten mit Tools zur Datenaufnahme und Datenindizierung freizugeben. Nach der Aufnahme und Indexierung
LlamaIndex verfügt über Hunderte von Datenladern, die die Möglichkeit bieten, benutzerdefinierte Datenquellen mit LLMs zu verbinden. Es verbindet vorgefertigte Lösungen wie Airtable, Jira, Salesforce und mehr mit generischen Plugins zum Laden von Daten aus Dateien, JSON-Dokumenten, einfachen CSV- und unstrukturierten Daten.
Eine vollständige Liste der Datenlader finden Sie auf der
Sobald Daten erfasst wurden, müssen sie mathematisch dargestellt werden, damit sie von einem LLM problemlos abgefragt werden können. Mit LlamaIndex bietet ein Index lediglich die Möglichkeit, Daten mathematisch in mehreren verschiedenen Dimensionen darzustellen. Die Indizierung von Daten ist kein neues Konzept. Mit maschinellem Lernen können wir jedoch die Granularität der Indizierung von einer oder zwei Dimensionen (z. B. Schlüssel-/Wertdarstellung) auf Hunderte oder Tausende von Dimensionen erweitern.
Der gebräuchlichste Ansatz zur Indizierung von Daten für maschinelles Lernen und LLMs wird als Vektorindex bezeichnet. Sobald die Daten indiziert wurden, wird die mathematische Darstellung der Daten als Vektoreinbettung bezeichnet. Es gibt viele Arten von Indizierungs- und Einbettungsmodellen, aber sobald die Daten eingebettet sind, kann die mathematische Darstellung der Daten für eine semantische Suche verwendet werden, da Dinge wie Text mit ähnlichen Bedeutungen eine ähnliche mathematische Darstellung haben. Beispielsweise könnten König und Königin stark miteinander verwandt sein, wenn es sich bei der Abfrage um das Königshaus handelt, aber nicht eng miteinander verbunden sein, wenn es sich bei der Abfrage um das Geschlecht handelt.
Hier kommt die wahre Stärke von LlamaIndex und LLMs ins Spiel. Da das Abfragen von Daten mit LlamaIndex keine komplexe Reihe von Befehlen zum Zusammenführen/Verknüpfen und Suchen der Daten ist, wird es durch ein Konzept namens „
LlamaIndex bietet verschiedene Indizierungsmodelle, die darauf ausgelegt sind, die Art und Weise zu optimieren, wie Sie Ihre Daten erkunden und kategorisieren möchten. Hier können letztendlich viele Vorteile erzielt werden. Wenn Sie wissen, welche Art von Operation Ihre Anwendung für die Daten ausführen muss, kann die Nutzung eines bestimmten Indextyps der Anwendung, die das LLM verwendet und die Abfrage instanziiert, erhebliche Vorteile bringen.
Ein Listenindex ist ein Ansatz, der die Daten aufschlüsselt und in Form einer sequentiellen Liste darstellt. Dies hat den Vorteil, dass die Daten zwar mehrdimensional untersucht werden können, die primäre Optimierung der Datenabfrage jedoch über ein sequentielles Muster erfolgt. Diese Art von Index eignet sich gut für strukturierte Objekte, die im Laufe der Zeit auftreten, also beispielsweise für Änderungsprotokolle, in denen Sie abfragen möchten, wie sich Dinge im Laufe der Zeit geändert haben.
Bei Verwendung eines Baumindex übernimmt LlamaIndex die Eingabedaten und organisiert sie in einer binären Baumstruktur, in der die Daten als übergeordnete und Blattknoten organisiert sind. Ein Baumindex bietet die Möglichkeit, große Datenmengen zu durchsuchen und Antworten zu erstellen, bei denen Sie bestimmte Textsegmente basierend auf der Art und Weise, wie die Suche den Baum durchläuft, extrahieren müssen. Die Baumindizierung eignet sich am besten für Fälle, in denen Sie ein Informationsmuster haben, dem Sie folgen oder das Sie validieren möchten, z. B. den Aufbau eines Chatbots zur Verarbeitung natürlicher Sprache auf Basis einer Support-/FAQ-Engine.
Bei Verwendung des Indextyps „Vektorspeicher“ speichert LlamaIndex Datennotizen als Vektoreinbettungen. Dies ist wahrscheinlich der gebräuchlichste Indexierungstyp, da er die Möglichkeit bietet, die Darstellung der Daten auf verschiedene Arten zu verwenden, einschließlich Vektor- oder Ähnlichkeitssuche. Wenn Daten mit einem Vektorspeicherindex indiziert werden, können sie lokal für kleinere Datensätze und von einer einzelnen Anwendung genutzt werden. Für größere Datensätze und/oder zur Verwendung in mehreren verschiedenen LLMs/Anwendungen können sie in einer leistungsstarken Vektordatenbank gespeichert werden wie
Bei der Schlüsselwortindizierung handelt es sich eher um den traditionellen Ansatz, bei dem ein Metadaten-Tag, also ein Schlüsselwort, bestimmten Knoten zugeordnet wird, die diese Schlüsselwörter enthalten. Diese Zuordnung erstellt ein Beziehungsnetz auf der Grundlage von Schlüsselwörtern, da ein Schlüsselwort mehreren verschiedenen Knoten zugeordnet sein kann und ein Knoten mehreren verschiedenen Schlüsselwörtern zugeordnet sein kann. Dieses Indexierungsmodell eignet sich gut, wenn Sie große Datenmengen mit Tags versehen und diese auf der Grundlage spezifischer Schlüsselwörter abfragen möchten, die über mehrere verschiedene Datensätze hinweg abgefragt werden können. Zum Beispiel rechtliche Hinweise, Krankenakten oder andere Daten, die auf der Grundlage bestimmter Metadatentypen abgeglichen werden müssen.
Eine der großen Fragen, die sich stellen, ist, wie LlamaIndex und LangChain im Vergleich abschneiden. Bieten sie ähnliche Funktionen oder ergänzen sie einander? Die Realität ist, dass LlamaIndex und LangChain zwei Seiten derselben Medaille darstellen. Während beide darauf ausgelegt sind, eine Schnittstelle zu LLMs und maschinellem Lernen in Ihrer Anwendung bereitzustellen, wurde LlamaIndex speziell für die Bereitstellung von Indizierungs- und Abfragefunktionen für die intelligente Suche von Daten entwickelt und entwickelt. Auf der anderen Seite dieser Medaille steht die Möglichkeit, mit Daten zu interagieren, entweder über die Verarbeitung natürlicher Sprache, also den Aufbau eines Chatbots, der mit Ihren Daten interagiert, oder die Nutzung dieser Daten, um andere Funktionen wie das Aufrufen von Code anzutreiben.
LlamaIndex bietet die Möglichkeit, Ihre Daten in verschiedenen Formaten zu speichern und diese Daten aus einer Reihe verschiedener Quellen abzurufen, um letztendlich das How für Ihre generative KI-Anwendung bereitzustellen.
LangChain bietet die Möglichkeit, mit diesen Daten etwas zu tun, sobald sie gespeichert wurden, Code zu generieren, generative Antworten auf Fragen bereitzustellen und Entscheidungen voranzutreiben, um letztendlich das „Was“ für Ihre generative KI-Anwendung bereitzustellen.
Mit LlamaIndex verfügen Sie über ein benutzerfreundliches Daten-/Orchestrierungs-Framework zum Erfassen, Indizieren und Abfragen Ihrer Daten zum Erstellen generativer KI-Anwendungen. Während wir oben zu Beginn ein einfaches Beispiel liefern, liegt die wahre Stärke von LlamaIndex in der Fähigkeit, datengesteuerte KI-Anwendungen zu erstellen. Sie müssen Modelle nicht neu trainieren, sondern können LlamaIndex und eine hoch skalierbare Vektordatenbank verwenden, um benutzerdefinierte Abfrage-Engines, Konversations-Chatbots oder leistungsstarke Agenten zu erstellen, die bei der Lösung komplexer Probleme interagieren können, indem sie die eingehenden Daten dynamisch interpretieren und kontextbezogen machen Entscheidungen in Echtzeit.
Wenn es also an der Zeit ist, eine generative KI-Anwendung zu erstellen, die die Fähigkeit erfordert, Ihre privaten Daten zu nutzen und diese in die Fähigkeit einer Anwendung zu integrieren, mit diesen Daten zu interagieren und auf sie zu reagieren, ist LlamaIndex ein hervorragender Ausgangspunkt für die Aufnahme, Indizierung und Abfrage. Aber wiederholen Sie nicht die Fehler der Vergangenheit und isolieren Sie die Daten, die Sie für KI-Anwendungen verwenden, einbetten und auf die Sie zugreifen. Entwickeln Sie eine vollständige End-to-End-Lösung, die die Speicherung dieser Einbettungen und Indizes in einem hoch skalierbaren Vektorspeicher wie Astra DB umfasst.
Um mit LlamaIndex zu beginnen und zu sehen, wie DataStax und LlamaIndex zusammen besser funktionieren, lesen Sie den aktuellen DataStax-Blogbeitrag: „
Weitere Informationen zum Einrichten und Bereitstellen von Astra DB finden Sie in einem der leistungsstärksten Vektorspeicher der Welt, der auf Apache Cassandra basiert und für die Verarbeitung großer Datenmengen in großem Maßstab entwickelt wurde. Um kostenlos loszulegen,
– Von Bill McLane, DataStax
Auch hier veröffentlicht.