Récapitulatif du webinaire : boostez votre LLM avec des données privées à l’aide de LlamaIndex
La popularité de ChatGPT a démontré les capacités des grands modèles de langage (LLM) à générer des connaissances et à raisonner. Cependant, ChatGPT est pré-entraîné sur des données accessibles au public, qui peuvent ne pas fournir de réponses et de résultats spécifiques pertinents pour votre entreprise. Alors, comment pouvons-nous enrichir au mieux nos LLM avec des données privées ? LlamaIndex est l’une des solutions les plus populaires. Il s’agit d’une interface simple, flexible et centralisée qui connecte vos données externes et vos LLM.
Dans notre récent webinaire, Jerry Liu, cofondateur et PDG de LlamaIndex, a expliqué comment LlamaIndex pouvait renforcer vos LLM avec des données privées. De plus, Frank Liu, architecte en apprentissage automatique et directeur des opérations chez Zilliz, a également partagé ses points de vue sur les LLM. Rejoignez-moi pour explorer les principaux enseignements de ce webinaire et répondre à certaines des questions du public restées sans réponse.
Ajustement fin et apprentissage en contexte
« Comment améliorer les LLM avec des données privées » est une question que de nombreux développeurs de LLM se poseraient. Lors du webinaire, Jerry a présenté deux méthodes : l’ajustement fin et l’apprentissage en contexte. L’ajustement fin nécessite de réentraîner le réseau avec des données privées, mais cela peut être coûteux et manquer de transparence. De plus, il peut n’être efficace que dans certains cas. En revanche, l’apprentissage en contexte consiste à associer un modèle pré-entraîné à des connaissances externes et à un modèle de récupération afin d’ajouter du contexte à l’invite d’entrée. Toutefois, des défis apparaissent lorsqu’il s’agit de combiner récupération et génération, de récupérer le contexte approprié et de gérer de vastes données sources. LlamaIndex est une boîte à outils conçue pour relever les défis de l’apprentissage en contexte.
Qu’est-ce que LlamaIndex ?
LlamaIndex est un outil open source qui fournit l’interface centrale de gestion des données et de requête pour vos applications LLM. Sa boîte à outils contient trois composants principaux :
- Des connecteurs de données pour ingérer des données provenant de diverses sources.
- Des index de données pour structurer les données selon différents cas d’utilisation.
- Une interface de requête pour saisir des invites et recevoir la sortie enrichie par les connaissances.
Trois principaux composants de LlamaIndex
LlamaIndex est également un outil précieux pour développer des applications LLM. Il fonctionne comme une boîte noire, en prenant des descriptions de requêtes détaillées et en fournissant des réponses riches qui incluent des références et des actions. LlamaIndex gère également les interactions entre le modèle de langage et les données privées afin de fournir des résultats précis et souhaités.
LlamaIndex en contexte
Fonctionnement de l’index de magasin vectoriel de LlamaIndex
LlamaIndex dispose de divers index, notamment l’index de liste, l’index de magasin vectoriel, l’index arborescent et l’index par mots-clés. Jerry a utilisé l’index de magasin vectoriel lors du webinaire pour vous montrer comment fonctionnent les index de LlamaIndex.
L’index de magasin vectoriel est un mode populaire de récupération et de synthèse qui associe un magasin vectoriel à un modèle de langage. Un ensemble de documents sources est ingéré, divisé en nœuds de texte et stocké dans le magasin vectoriel avec une incorporation attachée à chaque nœud. Lorsque vous effectuez une requête, une incorporation de requête recherche dans le magasin vectoriel les top-k nœuds les plus similaires ; ces nœuds sont ensuite utilisés dans le module de synthèse de réponse pour générer une réponse.
Ingestion de données dans LlamaIndex
Requête via l’index de magasin vectoriel
L’utilisation d’un index de magasin vectoriel est la meilleure approche pour introduire la similarité dans votre application LLM. Ce type d’index est idéal pour les workflows qui comparent des textes en termes de similarité sémantique. Par exemple, un index de magasin vectoriel conviendrait pour poser des questions sur un logiciel open-source particulier.
L’intégration de Milvus et LlamaIndex
LlamaIndex fournit de nombreuses intégrations à la fois puissantes et légères. Lors du webinaire, Jerry a mis en avant l’intégration de Milvus et LlamaIndex.
Milvus est une base de données vectorielle open-source capable de gérer de vastes ensembles de données contenant des millions, des milliards, voire des billions de vecteurs. Grâce à l’intégration, Milvus agit comme le magasin vectoriel backend pour les embeddings et le texte. La configuration de l’intégration est simple : saisir plusieurs paramètres, les encapsuler dans un contexte de stockage, puis les placer dans l’index de magasin vectoriel. L’interrogation de l’index se fait via le moteur de requête, et vous obtiendrez les réponses dont vous avez besoin.
Zilliz Cloud est un service entièrement géré et cloud-native pour Milvus, et l’intégration de LlamaIndex et Zilliz Cloud est également disponible.
Cas d’utilisation de LlamaIndex
Lors du webinaire, Jerry a également partagé de nombreux cas d’utilisation populaires de LlamaIndex, notamment :
- Recherche sémantique
- Résumé
- Texte vers SQL (données structurées)
- Synthèse sur des données hétérogènes
- Requêtes de comparaison/contraste
- Requêtes multi-étapes
- Exploitation des relations temporelles
- Filtrage par récence / nœuds obsolètes
Pour des descriptions et informations détaillées, regardez l’enregistrement complet du webinaire.
Questions-réponses
Nous avons reçu de nombreuses questions de notre audience pendant le webinaire et avons apprécié leur participation. Jerry a répondu à certaines questions pendant la session de questions-réponses, mais en raison des contraintes de temps, certaines sont restées sans réponse. Ci-dessous, nous avons compilé une liste des questions les plus posées, ainsi que des questions restées sans réponse, avec les réponses de Jerry.
Q : Que pensez-vous des plugins d’OpenAI, et comment LlamaIndex fonctionnerait-il avec eux ?
C’est une bonne question. Nous nous voyons des deux côtés du paysage des plugins. D’une part, nous nous considérons comme un très bon plugin pouvant être appelé par n’importe quelle abstraction d’agent externe (qu’il s’agisse de ChatGPT, LangChain ou autre). Un agent client nous transmettrait une requête d’entrée, et nous déterminerions comment exécuter au mieux cette requête en coulisses. Par exemple, nous sommes un plugin dans le repo chatgpt-retrieval-plugin. Côté client, nous prenons en charge l’intégration avec tous les services qui implémentent le chatgpt-retrieval-plugin - une abstraction de « magasin vectoriel ».
Q : Vous avez mentionné des compromis en matière de performance et de latence. Quels sont certains goulots d’étranglement et défis dans ce domaine que vous rencontrez ?
Des quantités de contexte plus importantes + une taille de fragment plus grande = une latence plus élevée. Il existe un débat sur la question de savoir si des tailles de fragment plus grandes conduisent toujours à de meilleurs résultats (empiriquement, GPT-4 gère mieux des quantités de contexte plus étendues que GPT-3). Toutefois, en général, il existe ici une corrélation positive. Un autre compromis est que tout système LLM « avancé », par exemple impliquant des agents, nécessite des appels LLM en chaîne. Les appels LLM en chaîne prennent intrinsèquement plus de temps à s’exécuter.
Q : Je comprends que nous utilisons un modèle externe pour exécuter les requêtes. Quel est le niveau de sécurité des données privées transmises ?
Cela dépend du service d’API. Par exemple, OpenAI n’utilise pas les données d’API pour entraîner/améliorer ses modèles, mais les entreprises auront tout de même des préoccupations concernant l’envoi de données sensibles à un tiers. Nous avons récemment ajouté quelques modules de PII pour aider à atténuer cela. Une autre alternative consiste à utiliser des modèles locaux.
Q : Quels sont les avantages et les inconvénients des deux approches : (a) exploiter une base de données vectorielle comme Milvus pour la recherche de similarité avancée et les optimisations de graphes AVANT le chargement et l’indexation sur LlamaIndex et l’interface avec un LLM ; (b) utiliser les intégrations natives de LlamaIndex aux magasins vectoriels ?
Vous pouvez faire l’un ou l’autre. Nous prévoyons de consolider un peu plus ces deux approches, alors restez à l’écoute. À un niveau très général, utiliser Milvus d’abord comme chargeur de données vous permet d’utiliser des données existantes avec LlamaIndex. En revanche, si vous utilisez notre index vectoriel adossé à Milvus, nous définirons des structures supplémentaires au-dessus de ces données. L’avantage de la première approche est que vous pouvez utiliser des données existantes, et l’avantage de la seconde est que nous avons davantage de contrôle dans la définition des métadonnées.
Q : Je dois analyser localement environ 6 000 PDF et PowerPoints. Que me recommanderiez-vous pour obtenir les meilleurs résultats sans utiliser OpenAI, LlamaIndex, avec llama65b ?
Vous pouvez essayer d’utiliser Llama si la licence vous convient. Jetez un œil aux modèles open-source sur GitHub.
Regardez l’enregistrement complet du webinaire !
Regardez l’enregistrement du webinaire pour en savoir plus sur LlamaIndex et les discussions entre Jerry Liu et Frank Liu.
Continuer à lire

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

Migrating from S3 Vectors to Zilliz Cloud: Unlocking the Power of Tiered Storage
Learn how Zilliz Cloud bridges cost and performance with tiered storage and enterprise-grade features, and how to migrate data from AWS S3 Vectors to Zilliz Cloud.

Zilliz Cloud Introduces Advanced BYOC-I Solution for Ultimate Enterprise Data Sovereignty
Explore Zilliz Cloud BYOC-I, the solution that balances AI innovation with data control, enabling secure deployments in finance, healthcare, and education sectors.



