paint-brush
Qu’est-ce que LlamaIndex ? Une exploration complète des cadres d'orchestration LLMpar@datastax
1,439 lectures
1,439 lectures

Qu’est-ce que LlamaIndex ? Une exploration complète des cadres d'orchestration LLM

par DataStax7m2023/11/08
Read on Terminal Reader

Trop long; Pour lire

Dans cet article, nous expliquerons comment LlamaIndex peut être utilisé comme cadre pour l'intégration, l'organisation et la récupération de données pour tous vos besoins d'IA générative de données privées.
featured image - Qu’est-ce que LlamaIndex ? Une exploration complète des cadres d'orchestration LLM
DataStax HackerNoon profile picture

Avec l'intégration rapide de l'IA générative dans le processus de développement d'applications, nous constatons un besoin croissant de pouvoir intégrer nos données privées avec les données publiques utilisées pour la formation. grands modèles de langage (LLM). Le défi que cela représente est que la plupart des données privées ne sont pas structurées, cloisonnées et ne sont pas dans un format facilement accessible par les LLM.


Dans un récent webinaire sur Grands modèles de langage pour l'entreprise , nous avons exploré comment les LLM peuvent être utilisés pour des applications au-delà de ChatGPT et comment les données privées doivent être utilisées pour augmenter les données publiques sur lesquelles les LLM généralement disponibles sont formés. C'est là que des solutions comme LlamaIndex entrent en jeu car elles fournissent un cadre d'orchestration pour créer des applications LLM à l'aide d'outils intégrés pour ingérer et interroger des données privées.


Dans cet article, nous expliquerons comment LlamaIndex peut être utilisé comme cadre pour l'intégration, l'organisation et la récupération de données pour tous vos besoins en IA générative de données privées.


Qu’est-ce que LlamaIndex ?

Comme indiqué précédemment, LlamaIndex est un cadre d'orchestration ou « cadre de données » qui simplifie la création d'applications LLM. Il offre la possibilité d'effectuer une augmentation des données privées, ce qui permet de les intégrer dans des LLM pour la génération de connaissances et le raisonnement. Les données sont au cœur de toutes les fonctionnalités de l’IA générative. Les applications d'entreprise doivent pouvoir accéder à plus que les données publiques sur lesquelles les LLM sont formés et doivent intégrer des données structurées, non structurées et semi-structurées provenant de toutes leurs sources de données internes et externes pour créer des applications.


C'est cette intégration de données que fournit LlamaIndex. Apporter des données provenant de plusieurs sources uniques. Intégration ces données comme vecteurs. Stocker ces données nouvellement vectorisées dans une base de données vectorielles. En fin de compte, cela permet aux applications d'utiliser ces données pour effectuer des opérations complexes avec des temps de réponse à faible latence, comme la recherche vectorielle.


Avantages

  • Ingestion de données simplifiée connectant les sources de données existantes telles que les API, les PDF, SQL, NoSQL, les documents, etc. pour une utilisation avec les applications LLM.
  • Stockez et indexez de manière native les données privées pour les utiliser dans différents cas d'utilisation d'applications, avec une intégration native avec les bases de données de stockage de vecteurs/de vecteurs en aval.
  • Interface de requête intégrée, offrant la possibilité de renvoyer des réponses enrichies en connaissances à partir d'invites de saisie sur vos données.


Cas d'utilisation

  • Créez des chatbots en langage naturel qui offrent une interaction en temps réel avec la documentation de votre produit pour un engagement client naturel.
  • Construire des agents de connaissances cognitivement conscients qui peuvent répondre à des arbres de décision changeants sur la base d'une base de connaissances en constante croissance.
  • Interagissez avec de grands volumes de données structurées en utilisant le langage naturel et l’interaction humaine.
  • Augmentez les données publiques avec un corpus de connaissances privé offrant un engagement spécifique à l'application.


Comment fonctionne LlamaIndex ?

LlamaIndex, anciennement connu sous le nom de GPT Index, est un framework qui fournit les outils nécessaires pour gérer le cycle de vie de bout en bout pour la création d'applications basées sur LLM. Le défi de la création d'applications basées sur LLM est qu'elles ont besoin de données, généralement provenant de plusieurs sources différentes, et à moins qu'il n'y ait une forte adhésion à une représentation commune des données, les données requises sont dans de nombreux formats différents, certains hautement structurés, d'autres non structurés et d'autres encore. entre.


C'est là que LlamaIndex fournit la boîte à outils pour déverrouiller ces données avec des outils d'ingestion et d'indexation de données. Une fois ingéré et indexé, génération augmentée de récupération (RAG) peuvent utiliser l'interface de requête LlamaIndex pour accéder à ces données et alimenter les LLM.


Ingestion

LlamaIndex dispose de centaines de chargeurs de données qui offrent la possibilité de connecter des sources de données personnalisées aux LLM. Il connecte des solutions prédéfinies telles qu'Airtable, Jira, Salesforce et bien d'autres à des plugins génériques pour charger des données à partir de fichiers, de documents JSON, de fichiers CSV simples et de données non structurées.

Une liste complète des chargeurs de données peut être trouvée sur le Centre de lama .


Indexage

Une fois les données ingérées, elles doivent être représentées mathématiquement afin qu'elles puissent être facilement interrogées par un LLM. Avec LlamaIndex, un index offre simplement la possibilité de représenter mathématiquement des données dans plusieurs dimensions différentes. L'indexation des données n'est pas un concept nouveau. Cependant, grâce au machine learning, nous pouvons étendre la granularité de l'indexation d'une ou deux dimensions (représentation clé/valeur par exemple) à des centaines ou des milliers de dimensions.


L'approche la plus courante pour indexer les données pour l'apprentissage automatique et les LLM est appelée index vectoriel ; une fois les données indexées, la représentation mathématique des données est appelée intégration vectorielle. Il existe de nombreux types de modèles d'indexation et d'intégration, mais une fois les données intégrées, la représentation mathématique des données peut être utilisée pour fournir une recherche sémantique, car des éléments comme un texte ayant des significations similaires auront une représentation mathématique similaire. Par exemple, le roi et la reine peuvent être fortement liés si la requête porte sur la royauté, mais pas fortement liés si la requête porte sur le sexe.


Interrogation

C’est là qu’une partie du véritable pouvoir de LlamaIndex et des LLM entre en jeu. Étant donné que l'interrogation de données à l'aide de LlamaIndex n'est pas une série complexe de commandes pour fusionner/rejoindre et trouver les données, elle est représentée en langage naturel via un concept appelé ingénierie rapide . Le moyen le plus simple de visualiser l'interaction avec vos données une fois que vous les avez ingérées et indexées est que l'interrogation devient un processus consistant à poser des questions et à obtenir des réponses.


Quels sont les différents index dans LlamaIndex ?

LlamaIndex propose plusieurs modèles d'indexation différents conçus pour fournir des optimisations sur la façon dont vous souhaitez explorer et catégoriser vos données. C'est finalement là que de nombreux gains peuvent être réalisés. Si vous connaissez le type d'opération que votre application doit effectuer sur les données, l'exploitation d'un type d'index spécifique peut apporter un avantage significatif à l'application utilisant le LLM et instanciant la requête.


Index de la liste

Un index de liste est une approche qui décompose les données et représente les données sous la forme d'une liste séquentielle. L'avantage que cela présente est que, même si les données peuvent être explorées de manière multidimensionnelle, la principale optimisation de l'interrogation des données se fait via un modèle séquentiel. Ce type d'index fonctionne bien avec les objets structurés qui se produisent au fil du temps, comme les journaux de modifications dans lesquels vous souhaitez demander comment les choses ont changé au fil du temps.


Index de l'arbre

Lors de l'utilisation d'un index arborescent, LlamaIndex prend les données d'entrée et les organise dans une structure arborescente binaire où les données sont organisées en nœuds parents et feuilles. Un index d'arborescence offre la possibilité de parcourir de grandes quantités de données et de construire des réponses là où vous devez extraire des segments spécifiques des textes en fonction de la façon dont la recherche parcourt l'arborescence. L'indexation des arbres fonctionne mieux dans les cas où vous disposez d'un modèle d'informations que vous souhaitez suivre ou valider, comme la création d'un chatbot de traitement du langage naturel au-dessus d'un moteur d'assistance/FAQ.


Index du magasin de vecteurs

Lors de l’utilisation du type d’index de magasin vectoriel, LlamaIndex stocke les notes de données sous forme d’incorporations vectorielles. Il s'agit probablement du type d'indexation le plus courant car il offre la possibilité d'utiliser la représentation des données de plusieurs manières différentes, y compris la recherche vectorielle ou la recherche de similarité. Lorsque les données sont indexées avec un index de magasin vectoriel, elles peuvent être exploitées localement pour des ensembles de données plus petits et par une seule application ou pour des ensembles de données plus grands et/ou pour être utilisées dans plusieurs LLM/applications différentes, elles peuvent être stockées dans une base de données vectorielle hautes performances. comme Astra DB .


Index des mots-clés

L'indexation de mots-clés s'apparente davantage à l'approche traditionnelle consistant à mapper une balise de métadonnées, c'est-à-dire un mot-clé à des nœuds spécifiques contenant ces mots-clés. Ce mappage crée un réseau de relations basé sur des mots-clés, car un mot-clé peut être mappé à plusieurs nœuds différents et un nœud peut être mappé à plusieurs mots-clés différents. Ce modèle d'indexation fonctionne bien si vous cherchez à baliser de gros volumes de données et à les interroger en fonction de mots-clés spécifiques qui peuvent être interrogés sur plusieurs ensembles de données différents. Par exemple, des informations juridiques, des dossiers médicaux ou toute autre donnée qui doit être alignée en fonction de types spécifiques de métadonnées.


LlamaIndex versus LangChain : comparaisons clés

L'une des grandes questions qui se posent est de savoir comment LlamaIndex et LangChain se comparent : offrent-ils des fonctionnalités similaires ou se complètent-ils ? La réalité est que LlamaIndex et LangChain offrent les deux faces d’une même médaille. Bien qu'ils soient tous deux conçus pour fournir une interface aux LLM et à l'apprentissage automatique dans votre application, LlamaIndex est conçu et construit spécifiquement pour fournir des capacités d'indexation et d'interrogation pour une recherche intelligente de données. De l'autre côté de la médaille se trouve la possibilité d'interagir avec les données soit via le traitement du langage naturel, c'est-à-dire en créant un chatbot pour interagir avec vos données, soit en utilisant ces données pour piloter d'autres fonctions comme l'appel de code.


LlamaIndex offre la possibilité de stocker les données dont vous disposez dans une variété de formats différents et d'extraire ces données de nombreuses sources différentes, fournissant ainsi le comment pour votre application d'IA générative.


LangChain offre la possibilité de faire quelque chose avec ces données une fois qu'elles ont été stockées, de générer du code, de fournir des réponses génératives aux questions et de prendre des décisions, fournissant ainsi le quoi pour votre application d'IA générative.


Quels projets pouvez-vous construire avec LlamaIndex ?

Avec LlamaIndex, vous disposez d'un cadre de données/orchestration facile à utiliser pour ingérer, indexer et interroger vos données afin de créer des applications d'IA génératives. Bien que nous fournissions un exemple simple ci-dessus pour commencer, la véritable puissance de LlamaIndex vient de la capacité à créer des applications d'IA basées sur les données. Vous n'avez pas besoin de recycler les modèles, vous pouvez utiliser LlamaIndex et une base de données vectorielles hautement évolutive pour créer des moteurs de requête personnalisés, des chatbots conversationnels ou des agents puissants capables d'interagir avec la résolution de problèmes complexes en interprétant dynamiquement les données entrantes et en les rendant contextuelles. décisions en temps réel.


Créez des applications d'IA génératives en temps réel avec la recherche vectorielle sur Astra DB

Ainsi, lorsque vient le temps de créer une application d'IA générative qui nécessite la capacité d'exploiter vos données privées et de les intégrer dans la capacité d'une application à interagir et à répondre à ces données, LlamaIndex est un excellent point de départ pour l'ingestion, l'indexation et les requêtes. Mais ne répétez pas les erreurs du passé et ne cloisonnez pas les données que vous utilisez, intégrez et auxquelles vous accédez pour les applications d’IA. Créez une solution complète de bout en bout qui inclut le stockage de ces intégrations et index dans un magasin de vecteurs hautement évolutif comme Astra DB.



Pour démarrer avec LlamaIndex et voir comment DataStax et LlamaIndex sont meilleurs ensemble, consultez le récent article du blog DataStax, « La création d'applications GenAI à l'échelle du pétaoctet est devenue plus simple. »

Vous pouvez trouver plus d'informations sur la façon de configurer et de déployer Astra DB sur l'un des magasins de vecteurs les plus performants au monde, construit sur Apache Cassandra, conçu pour gérer d'énormes volumes de données à grande échelle. Pour commencer gratuitement, Inscrivez-vous ici .


- Par Bill McLane, DataStax


Également publié ici.