Claude Code + RAG-Anything = SANS LIMITES

CChase AI
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Presque tous les systèmes RAG souffrent du même problème.
00:00:04Ils ne peuvent traiter que des documents texte.
00:00:06Donc si vous essayez de leur donner des images, des graphiques,
00:00:10la plupart des systèmes RAG ne peuvent tout simplement pas gérer.
00:00:12Et quand je vous ai montré Light RAG hier,
00:00:13il souffrait exactement du même problème.
00:00:16Mais aujourd'hui, je vais vous montrer la solution.
00:00:19Et cette solution, c'est RAG Anything.
00:00:20RAG Anything résout ce problème de document pour nous.
00:00:23Il peut gérer les images.
00:00:24Il peut gérer les tableaux.
00:00:25Il peut gérer les graphiques.
00:00:25Et il nous permet de créer un système RAG
00:00:28qui traite réellement les documents que vous utilisez.
00:00:31RAG Anything vient de la même équipe qui a conçu Light RAG.
00:00:34Il se branche directement sur le système Light RAG
00:00:36que nous avons déjà construit hier.
00:00:37C'est donc très facile d'introduire cela dans notre pile.
00:00:40Aujourd'hui, je vais vous montrer comment le configurer
00:00:43et comment il fonctionne sous le capot.
00:00:44Pour que vous puissiez utiliser l'un des systèmes RAG
00:00:46les plus puissants du marché.
00:00:48Au cas où ce ne serait pas assez évident avec l'introduction,
00:00:50je suppose que vous avez déjà regardé
00:00:52la vidéo d'hier sur Light RAG.
00:00:54Je mettrai un lien au-dessus si ce n'est pas déjà fait,
00:00:56car aujourd'hui je suppose que vous avez déjà configuré
00:00:58votre serveur Light RAG.
00:00:59Vous comprenez le RAG et vous comprenez
00:01:02tout ce concept de graphe de connaissances.
00:01:03Car RAG Anything est essentiellement une enveloppe
00:01:06autour de Light RAG.
00:01:07Nous aurons toujours la même interface web Light RAG
00:01:10avec quelques différences,
00:01:11mais tout ce qui est envoyé dans RAG Anything,
00:01:13ces documents non textuels,
00:01:15finit par se retrouver dans le même graphe de connaissances.
00:01:17Nous allons lui poser les mêmes questions.
00:01:19Nous utiliserons la même API pour l'interroger
00:01:22via Claude Code comme nous l'avons fait hier.
00:01:24Et la fonctionnalité que nous ajoutons aujourd'hui
00:01:26est significative.
00:01:28Il ne suffit pas de bâtir un RAG purement textuel.
00:01:30On ne vit pas dans un monde purement textuel.
00:01:32Combien d'entre vous ont reçu un document PDF
00:01:34qui n'est techniquement pas du texte, juste un scan ?
00:01:36Light RAG ne peut pas vraiment gérer ça, RAG Anything oui.
00:01:39Nous allons être un peu techniques aujourd'hui.
00:01:40Nous irons sous le capot et j'expliquerai exactement
00:01:43comment tout ce système fonctionne.
00:01:44Mais globalement, que fait-il ?
00:01:46RAG Anything examine simplement les documents
00:01:49qui ne sont pas du texte.
00:01:50Il fait exactement ce que fait Light RAG,
00:01:52mais sur ces documents non textuels.
00:01:55Et après avoir créé son propre graphe de connaissances
00:01:56et sa propre base de données vectorielle,
00:01:58il les fusionne avec ceux de Light RAG,
00:02:00ce qui fait que tout finit au même endroit,
00:02:04bien rangé, pour que nous puissions poser des questions.
00:02:06Le seul bémol avec RAG Anything,
00:02:08c'est qu'il est un peu plus lourd.
00:02:09On doit télécharger des modèles sur notre ordinateur
00:02:12pour aider à analyser ces documents non textuels.
00:02:14Et pour l'ingestion de documents non textuels,
00:02:18on ne peut pas vraiment le faire via l'interface Light RAG.
00:02:22Nous devons utiliser un script.
00:02:23Heureusement, c'est là que Claude Code intervient.
00:02:25Donc pour vous, l'utilisateur, une fois tout configuré,
00:02:28pour ingérer des documents non textuels,
00:02:31il suffit de dire à Claude Code : "Hé, vas-y,
00:02:33utilise la compétence RAG Anything et ingère ce document."
00:02:36C'est aussi simple que ça.
00:02:37Et vous posez les questions de la même manière qu'avant.
00:02:39Donc ce n'est vraiment pas si mal.
00:02:40Et encore une fois, vous obtenez tout cela juste comme ça.
00:02:43Avant de voir comment RAG Anything fonctionne réellement,
00:02:46je veux faire une petite promo pour ma masterclass Claude Code,
00:02:49sortie il y a quelques semaines.
00:02:50C'est le meilleur endroit pour passer de zéro à dev IA,
00:02:53surtout si vous n'avez pas de bagage technique.
00:02:55Je la mets à jour littéralement chaque semaine.
00:02:57Il y a une nouvelle mise à jour demain.
00:02:59Si vous voulez vraiment maîtriser
00:03:01Claude Code et ne savez pas par où commencer,
00:03:03et bien, c'est fait pour vous.
00:03:05Il y a un lien pour ça dans les commentaires.
00:03:07C'est inclus dans Chase AI Plus.
00:03:09J'ai aussi la communauté gratuite Chase AI.
00:03:11Si tout ça est un peu trop pour vous,
00:03:12ou si vous venez de débuter.
00:03:14Le lien est dans la description.
00:03:15C'est là que vous trouverez aussi les prompts et les compétences
00:03:19dont je vais parler aujourd'hui.
00:03:20Alors n'hésitez pas à aller voir.
00:03:22Parlons maintenant de RAG Anything
00:03:23et de la manière dont ce truc fonctionne.
00:03:25Pour être honnête, c'est assez simple et explicite.
00:03:28Pour ne pas vous faire perdre de temps,
00:03:29je vais laisser cette image affichée 10 secondes,
00:03:32puis on passera à la suite.
00:03:34Très bien, c'est parfait.
00:03:39Bon, on continue.
00:03:41Je plaisante.
00:03:42Il se passe en fait pas mal de choses.
00:03:44Cette image rend les choses plus confuses qu'elles ne le sont.
00:03:46Et si vous comprenez ce qu'on a fait avec Light RAG,
00:03:50souvenez-vous de cette discussion, ça ira.
00:03:52RAG Anything fonctionne de manière similaire,
00:03:55avec juste quelques étapes supplémentaires.
00:03:56Et je veux passer cela en revue,
00:03:57car je pense qu'il est important de comprendre
00:03:58comment ces systèmes fonctionnent.
00:04:00Je pense qu'en IA en général,
00:04:01on tombe facilement dans le focus purement pratique.
00:04:04Genre : "Je veux juste savoir comment l'installer, Chase,"
00:04:05"et comment l'utiliser."
00:04:06C'est bien, vous pouvez avancer si c'est votre cas.
00:04:08Mais si vous voulez devenir un dev IA plus mature
00:04:11et que vous voulez vous démarquer
00:04:13du singe que je pourrais remplacer par vous,
00:04:15celui qui clique juste sur accepter, accepter, accepter,
00:04:17et qui copie des prompts et des compétences,
00:04:18alors je pense qu'il est important d'avoir une certaine
00:04:21compréhension de l'architecture,
00:04:22car c'est ce qui va vous différencier des autres.
00:04:23Et pas seulement pour l'usage de ce système RAG,
00:04:24mais pour des projets plus vastes et complexes, n'est-ce pas ?
00:04:27C'est ainsi que vous commencez à créer vos propres compétences,
00:04:30et que vous devenez vraiment bon là-dedans.
00:04:34Alors, parlons-en.
00:04:35RAG Anything.
00:04:37Parlons du problème, d'accord ?
00:04:38Le problème, c'est que j'ai un PDF qui est un scan,
00:04:40ce n'est pas vraiment du texte,
00:04:44et pourtant je dois le mettre dans mon système RAG.
00:04:45Light RAG ne peut pas le gérer.
00:04:46Alors RAG Anything arrive, n'est-ce pas ?
00:04:48Il y a ce lama stylé avec des lunettes de soleil.
00:04:51La première chose qui se passe,
00:04:53c'est que je vais ingérer ce document dans RAG Anything.
00:04:56Et la toute première étape,
00:05:00c'est d'utiliser un programme nommé MinerU,
00:05:02qui tourne localement et gratuitement sur votre machine.
00:05:05Il va décomposer ce document
00:05:08en ses différentes parties constituantes.
00:05:11MinerU est un projet open source.
00:05:12C'est essentiellement un analyseur de documents
00:05:14qui inclut plusieurs petits modèles spécialisés.
00:05:16Sachez simplement, si cela vous effraie, que c'est open source.
00:05:19Je mettrai un lien ci-dessous.
00:05:21Encore une fois, c'est ce qui va tourner
00:05:22et faire le gros du travail pour nous aujourd'hui.
00:05:23MinerU examine le document et se dit :
00:05:25"D'accord, ceci est un en-tête."
00:05:26Il crée un cadre autour de l'en-tête.
00:05:29Il dit : "Ceci est du texte."
00:05:32Il dit : "Ceci est un tableau."
00:05:33Il dit : "Ceci est l'image d'un graphique à barres."
00:05:36Et il dit : "Ceci est une équation écrite en LaTeX."
00:05:39Il a analysé le document
00:05:41et l'a décomposé en ses parties spécifiques.
00:05:44MinerU ne comprend pas ce qu'il y a dedans.
00:05:47MinerU ne lit pas le texte.
00:05:50Il n'en saisit pas le sens.
00:05:52Il ne comprend pas le sujet du tableau.
00:05:53Il sait juste : tableau, texte, image, d'accord ?
00:05:55À partir de là, il va envoyer ces composants
00:05:56à des modèles individuels spécialisés intégrés à MinerU.
00:06:01Tout cela est invisible pour vous.
00:06:05Tout se fait automatiquement sous le capot.
00:06:10L'un des modèles s'appelle par exemple PaddleOCR.
00:06:12C'est lui qui va examiner le texte.
00:06:15MinerU envoie ce bloc de texte à PaddleOCR
00:06:20sur votre ordinateur, et il va en extraire le texte.
00:06:21Désormais, au lieu d'être du texte scanné,
00:06:24c'est du vrai texte qui dit : "La société X affiche un fort T3."
00:06:28"Résultats avec croissance des revenus, etc, etc."
00:06:30Pareil pour ce texte.
00:06:34Pareil pour le tableau, n'est-ce pas ?
00:06:36Il va aussi le transformer en texte,
00:06:40quelque chose qu'un LLM peut gérer.
00:06:41Même chose pour les équations LaTeX.
00:06:43Il y a un modèle entier qui gère ça.
00:06:45Ce n'est plus du LaTeX, c'est devenu du texte.
00:06:47Sauf pour les images.
00:06:48Que ce soit un graphique à barres ou n'importe quoi,
00:06:52tout ce qu'il ne peut pas transformer en texte.
00:06:54Ce qu'il va faire à la place,
00:06:57c'est en prendre une capture d'écran,
00:07:00et c'est important, d'accord ?
00:07:01C'est donc maintenant une capture d'écran.
00:07:03C'est une image. J'adore ça.
00:07:05Alors, qu'avons-nous ?
00:07:07Nous avons inséré un document non textuel.
00:07:11Il a été identifié par composants,
00:07:13et nous avons pris ces composants
00:07:16pour les répartir en deux seaux, d'accord ?
00:07:18Le seau du texte et le seau de l'image.
00:07:20Il est important de s'en rendre compte.
00:07:22Nous avons le compartiment texte et le compartiment image.
00:07:26Il est important de s'en rendre compte.
00:07:28Il y a deux voies possibles : l'image ou le texte.
00:07:31D'accord, vous me suivez ?
00:07:32Alors, ce qu'il va faire maintenant,
00:07:34c'est que nous en avons fini avec ces modèles internes.
00:07:36Maintenant, nous devons faire appel aux poids lourds.
00:07:37Il nous faut quelque chose comme GPT 5.4 Mini.
00:07:40À noter que ce n'est pas forcément obligatoire.
00:07:42Vous pourriez tout garder en local si vous le souhaitiez.
00:07:44Vous pourriez utiliser quelque chose comme Ollama.
00:07:45Donc maintenant, je prends le compartiment texte et je l'envoie vers GPT 5.4 Mini.
00:07:50Et j'inclus une commande qui dit :
00:07:52« Je veux que tu analyses ce texte pour deux choses. »
00:07:55Je veux que tu prennes ce texte
00:07:57et que tu en extraies les entités et les relations.
00:08:01Vous vous souvenez des entités et des relations ?
00:08:03Vous vous rappelez de notre graphe de connaissances ?
00:08:05Entité, entité, et en quelque sorte la relation entre elles.
00:08:09D'accord, et je veux que tu le décomposes
00:08:13en ce qui deviendra des vectorisations pour une base de données vectorielle.
00:08:17Donc les vectorisations, l'encodage,
00:08:21et ensuite je vais juste dire entités plus relations.
00:08:26Maintenant, en anticipant, que va-t-il se passer ?
00:08:29Eh bien, les vectorisations vont être intégrées
00:08:32dans une base de données vectorielle, et les entités et relations
00:08:35vont devenir un graphe de connaissances,
00:08:37tout comme nous l'avons fait avec LightRag, n'est-ce pas ?
00:08:39Même chose, exactement la même chose, sauf que maintenant,
00:08:42maintenant cela provient du compartiment texte.
00:08:44Mais qu'en est-il de ces images que nous avions ?
00:08:47Qu'allons-nous faire de celles-là ?
00:08:48La même chose, elles vont aussi être envoyées vers 5.4,
00:08:52mais sous forme de capture d'écran, via l'OCR.
00:08:55Nous disons donc à GPT 5.4 : regarde cette capture d'écran
00:08:59et décompose-la en deux choses, d'accord ?
00:09:02Des vectorisations et aussi des entités plus des relations.
00:09:06Maintenant, pourquoi faisons-nous cela ?
00:09:07Pourquoi ne pas tout mettre dans la même commande
00:09:09et le laisser faire l'OCR de l'intégralité du document ?
00:09:12Pourquoi ne pas traiter tout le document comme une capture d'écran ?
00:09:14Parce que c'est coûteux et lent.
00:09:16Ce que RAG-anything a décidé de faire,
00:09:17et je pense que c'est assez astucieux,
00:09:19c'est de passer le document au scalpel sur votre ordinateur
00:09:21au niveau local, en séparant le texte,
00:09:24et en extrayant les captures d'écran.
00:09:25Ainsi, en passant par ces deux chemins,
00:09:27vous économisez énormément d'argent et de temps.
00:09:29Parce qu'imaginez si vous essayiez de faire analyser
00:09:3110 000 captures d'écran par ChatGPT pour en extraire tout le texte,
00:09:34puis, à partir de ce texte, créer des vectorisations,
00:09:36des entités et des relations.
00:09:37Cela prend énormément de temps et d'argent.
00:09:38Cette méthode est plus intelligente.
00:09:40Donc, les entités et relations du côté de l'image,
00:09:44c'est exactement la même chose.
00:09:45Cela alimente aussi une base de données vectorielle
00:09:49et cela génère aussi un graphe de connaissances.
00:09:52Alors, qu'est-ce que cela signifie ?
00:09:53Cela signifie qu'à partir d'un seul document,
00:09:55nous avons maintenant créé quatre éléments, d'accord ?
00:09:59Nous avons deux bases de données vectorielles
00:10:02et nous avons deux graphes de connaissances
00:10:04provenant de notre unique document non textuel.
00:10:08Vous me suivez ?
00:10:09Maintenant, que devons-nous faire ?
00:10:10Eh bien, c'est assez évident.
00:10:11Nous devons les fusionner.
00:10:12Il va donc prendre ces quatre éléments
00:10:15et simplement les assembler, n'est-ce pas ?
00:10:18Ils vont pratiquement se superposer les uns aux autres.
00:10:19Il va les faire correspondre en se basant sur les entités, essentiellement.
00:10:22Et vous allez obtenir à la fin,
00:10:27une seule base de données vectorielle et un seul graphe de connaissances.
00:10:31C'est pratiquement la même chose
00:10:32que ce que nous avons fait plus haut avec LightRag.
00:10:34C'est assez simple.
00:10:35Si nous utilisions uniquement RAG-anything,
00:10:38ce serait à peu près tout.
00:10:40Cependant, n'oubliez pas que nous essayons de superposer
00:10:44RAG-anything au-dessus de LightRag.
00:10:46Je veux toute la puissance de LightRag
00:10:48et je veux toute la puissance de RAG-anything.
00:10:50Alors, que se passe-t-il maintenant ?
00:10:52Eh bien, ce qui se passe est une répétition de ce que vous venez de voir.
00:10:54Alors, descendons un peu plus bas.
00:10:55Maintenant, nous avons notre ensemble RAG-anything
00:11:00avec une base de données vectorielle et un graphe de connaissances
00:11:05et nous avons notre ensemble LightRag.
00:11:06Alors, que faisons-nous ?
00:11:07Nous les fusionnons simplement ensemble.
00:11:09Ensuite, ce qui arrive, c'est que nous obtenons le RAG-anything
00:11:13et le LightRag combinés,
00:11:15ce qui nous donne enfin une seule base de données vectorielle
00:11:20et un seul graphe de connaissances.
00:11:21Et à partir de là, c'est comme c'était avant
00:11:24avec LightRag tout seul, n'est-ce pas ?
00:11:27Vous posez une question sur n'importe quoi,
00:11:31cette question est transformée en vecteur ici.
00:11:33Le système extrait les vecteurs pertinents
00:11:35et il descend aussi par ici,
00:11:37trouve la bonne entité
00:11:39et regarde ensuite ce qui se trouve à proximité, d'accord ?
00:11:43Peut-être que c'était un peu confus.
00:11:44J'espère avoir bien expliqué cela.
00:11:46Faisons un récapitulatif pour vous embrouiller encore plus.
00:11:51Que se passe-t-il quand j'ajoute un document qui n'est pas du texte ?
00:11:54Il entre dans RAG-anything.
00:11:56RAG-anything extrait le texte qu'il peut
00:11:58puis il extrait aussi les images qu'il peut.
00:12:00Il envoie les deux à ChatGPT
00:12:02ou à n'importe quel système d'IA de votre choix.
00:12:05Il décompose cela en vectorisations,
00:12:07en entités et en relations.
00:12:09Ceux-ci sont transformés en graphes de connaissances et bases vectorielles.
00:12:13Nous les fusionnons ensuite.
00:12:15Nous avons maintenant une base vectorielle
00:12:17et un graphe de connaissances pour RAG-anything.
00:12:19Et comme nous utilisions déjà LightRag,
00:12:22ou si vous avez ajouté d'autres documents par-dessus,
00:12:24vous avez déjà une base de données vectorielle
00:12:27et un graphe de connaissances existants.
00:12:29Pour résoudre cela, nous les fusionnons simplement.
00:12:32Et au final, vous n'avez rien remarqué du tout.
00:12:35Encore une fois, en tant qu'utilisateur, tout cela est invisible pour vous.
00:12:39Rien de tout cela n'a vraiment d'importance pour vous.
00:12:41La seule chose qui pourrait vous importer
00:12:42est ce qui se passe ici avec GPT 5.4
00:12:45parce que cela va vous coûter un peu d'argent.
00:12:47Mais à des fins pédagogiques,
00:12:50voilà comment le système RAG-anything
00:12:53s'intègre au système LightRag.
00:12:55Et au bout du compte,
00:12:57cela signifie simplement que vous avez un système RAG
00:12:58qui peut gérer des documents non textuels.
00:13:00Et si vous êtes encore là après tout ça,
00:13:03nous pouvons maintenant passer à la manière d'installer
00:13:07et d'utiliser cet outil.
00:13:08Parlons donc de l'installation,
00:13:09de comment l'utiliser concrètement,
00:13:10et de quelques points auxquels vous devez faire attention.
00:13:11J'ai créé une commande unique que vous pouvez donner à Claude Code
00:13:14qui installera tout pour vous
00:13:17et mettra à jour les modèles appropriés et tout le reste.
00:13:19Il vous suffit de vous assurer
00:13:20que vous êtes dans votre répertoire LightRag quand vous lancez ceci.
00:13:23Il y a donc trois choses principales qu'il va faire.
00:13:25Tout d'abord, il va s'assurer
00:13:27que nous mettons à jour le bon chemin de stockage
00:13:29puisque vous avez déjà une instance Docker LightRag en cours.
00:13:32Deuxièmement, nous voulons mettre à jour le modèle
00:13:33car selon le GitHub,
00:13:34il a été créé il y a quelque temps déjà.
00:13:37Donc tous les scripts d'exemple et autres
00:13:39utilisent des choses comme GPT 4.0 mini.
00:13:41Je l'ai donc configuré sur 5.4 Nano.
00:13:43Sachez que vous pouvez changer cela si vous le souhaitez.
00:13:45Mais je lui ai fait utiliser 5.4 Nano tout en gardant
00:13:48le modèle text-embedding-3-large pour que nous puissions utiliser OpenAI
00:13:51pour tout.
00:13:51Cela simplifie les choses, jouez avec comme vous le souhaitez.
00:13:54Enfin, puisque nous utilisons RAG-anything
00:13:55essentiellement comme une enveloppe autour de LightRag,
00:13:58certains des scripts d'exemple fournis dans le dépôt GitHub
00:14:02sont un peu erronés.
00:14:03Il y a par exemple ce bug de double enveloppe d'encodage,
00:14:05que nous disons simplement à Claude Code de corriger,
00:14:08et il le fera.
00:14:09Vous allez donc simplement utiliser cette commande.
00:14:12Encore une fois, elle se trouve dans la communauté gratuite.
00:14:14Le lien est dans la description.
00:14:15Cherchez juste RAG-anything et vous le trouverez là-bas.
00:14:18Et une fois que vous aurez lancé cette commande,
00:14:19elle commencera à tout télécharger.
00:14:21Comprenez que c'est un peu lourd
00:14:22car elle doit télécharger MinerU
00:14:23ainsi que toutes ces dépendances.
00:14:25Maintenant, parlons de l'ingestion des documents
00:14:26car c'est un peu fastidieux et pénible.
00:14:28Dans un monde idéal, la situation LightRag plus RAG-anything
00:14:33serait très fluide et je pourrais envoyer
00:14:35tout ce que je veux dans l'ensemble LightRag / RAG-anything
00:14:40via une interface unique.
00:14:41Je pourrais aller dans l'interface, cliquer sur téléverser
00:14:44et le faire.
00:14:45On ne peut pas vraiment le faire avec RAG-anything couplé à LightRag.
00:14:48C'est encore possible pour les documents texte.
00:14:50Vous pouvez donc toujours suivre le flux de travail normal
00:14:52que j'ai montré dans la vidéo précédente où vous allez dans l'interface
00:14:54ou utilisez la compétence LightRag pour téléverser des documents.
00:14:59Vous ne pouvez pas faire ça avec RAG-anything.
00:15:01Il doit passer par un tunnel différent,
00:15:04un chemin différent.
00:15:05Mais ce chemin différent avec RAG-anything
00:15:07est un script Python.
00:15:09Il n'y a pas d'interface, pas de bouton sur lequel appuyer.
00:15:11C'est littéralement un script.
00:15:12C'est du code que vous devez exécuter.
00:15:14Heureusement, c'est là que Claude Code intervient
00:15:16et cela rend les choses très simples parce que nous allons juste transformer
00:15:19ce script à l'intérieur du dépôt en une compétence.
00:15:23Donc pour vous, une fois que cette compétence est créée,
00:15:25tout ce que vous avez à faire est de dire : "Claude Code,
00:15:28utilise la compétence rag anything pour télécharger tous ces documents,
00:15:32tous ces documents non textuels."
00:15:33Et quand il fera cela,
00:15:34il passera par le processus de MinerU.
00:15:36Cela prendra un certain temps car il doit faire toutes ces,
00:15:39vous savez, manipulations comme nous l'avons expliqué
00:15:41dans la section un peu technique,
00:15:43mais il les téléchargera vers LightRAG
00:15:45et ils apparaîtront dans vos documents
00:15:47et dans votre graphe de connaissances.
00:15:49Ok, c'est la seule partie bizarre que vous devez connaître.
00:15:51L'autre point étrange, pour être honnête, c'est qu'une fois cela fait,
00:15:54il faut également redémarrer le conteneur Docker,
00:15:58mais cela se fait automatiquement dans le cadre de la compétence.
00:16:00Donc encore une fois, de votre point de vue d'utilisateur,
00:16:03la seule différence est que vous devez juste invoquer la compétence.
00:16:06Maintenant, cette compétence, la compétence de téléchargement rag anything,
00:16:08est également disponible dans la communauté gratuite.
00:16:10Il suffit donc de la télécharger et de la placer dans votre dossier .claude
00:16:13et elle fonctionnera parfaitement.
00:16:14Maintenant, une note sur le fait que MinerU prenne du temps,
00:16:17c'est parce que la façon dont rag anything fonctionne
00:16:19quand vous le téléchargez, c'est qu'il va s'exécuter sur votre processeur (CPU).
00:16:22Si vous voulez qu'il s'exécute sur votre carte graphique (GPU),
00:16:24vous devez avoir une version différente de PyTorch.
00:16:27Si tout cela vous dépasse,
00:16:29si c'est trop lent pour vous, dites simplement à Claude Code :
00:16:32« Hé, est-ce qu'on peut exécuter PyTorch ? »
00:16:34« Est-ce qu'on peut faire tourner MinerU sur notre GPU ? »
00:16:36Et il vous guidera à travers les étapes.
00:16:37Ou en fait, il fera tout tout seul.
00:16:39Mais par défaut, il va juste tourner sur votre CPU.
00:16:41Sachez-le simplement.
00:16:42Voyons donc un exemple de cela en action.
00:16:44L'un des documents que nous avons ingérés était
00:16:48ce PDF de Novatech, n'est-ce pas ?
00:16:50Une analyse des revenus SaaS. C'est totalement fictif.
00:16:51Mais le but est que nous avons ingéré quelque chose
00:16:52qui contient ce genre de graphique à barres, d'accord ?
00:16:55C'est donc quelque chose qui aurait normalement été extrait
00:16:57sous forme d'image envoyée à ChatGPT, et cetera.
00:16:59Normalement, LightRAG ne pourrait pas gérer cela
00:17:01parce que c'est juste une image.
00:17:03Ce sont des graphiques, c'est difficile pour lui de décomposer cela.
00:17:05Mais puisque nous avons passé cela par rag anything,
00:17:07nous pouvons maintenant poser une question via Claude Code à ce sujet.
00:17:10J'ai donc demandé à Claude Code :
00:17:13« Pouvons-nous interroger notre base de données LightRAG
00:17:14sur la tendance des revenus mensuels de Novatech Inc
00:17:15de janvier à septembre 2025 ? »
00:17:18Vous voyez ici qu'il n'a même pas utilisé la compétence.
00:17:20Il a directement effectué la requête API,
00:17:22ce qui convient également avec la requête :
00:17:24« Quelle était la tendance des revenus mensuels pour Novatech Inc
00:17:26de... blablabla. »
00:17:29Il a ensuite donné une réponse complète.
00:17:30Je pourrais examiner la réponse brute si je le voulais.
00:17:32Mais qu'a-t-il fait ?
00:17:35Il est revenu avec les ventilations mensuelles complètes.
00:17:36Nous voyons janvier 4,6 ; 4,6 ; février 4,9 ; 4,9 ;
00:17:39mars 5,4 ; 5,4 ; et ainsi de suite.
00:17:43Donc, pour ce qui est de poser des questions sur ces nouveaux documents,
00:17:46c'est la même chose qu'avant.
00:17:48La seule différence est le téléchargement.
00:17:49Tout ce que vous avez à faire est d'invoquer la compétence
00:17:51que je vous donne, puis de dire à Claude Code
00:17:53ce que vous voulez y mettre.
00:17:55Vous pourriez le pointer vers un dossier entier.
00:17:56Vous pouvez le pointer vers un téléchargement spécifique.
00:17:58C'est tout aussi facile.
00:18:00C'est vraiment la seule chose bizarre à laquelle il faut s'habituer,
00:18:01ce sont ces deux voies de téléchargement.
00:18:04Mais pour les questions et réponses réelles,
00:18:05c'est juste du langage courant.
00:18:07Du langage courant, même si vous avez aussi les compétences,
00:18:09que j'ai également données dans la dernière vidéo,
00:18:11mais Claude Code est aussi assez intelligent
00:18:13pour comprendre la structure API de tout ce système.
00:18:14Parce que c'est local, c'est sur votre ordinateur.
00:18:17C'est donc tout ce qu'il y a à savoir sur rag anything.
00:18:19Je sais que la majeure partie de cette vidéo
00:18:21était concentrée sur les aspects techniques,
00:18:22mais comme vous le voyez, une fois la base LightRAG construite,
00:18:24ajouter rag anything par-dessus n'est pas trop difficile,
00:18:28surtout si nous utilisons l'invite "one shot" que je vous ai donnée.
00:18:32Il y a certaines choses que vous pouvez ajuster à la marge,
00:18:35comme pour tout ce qui concerne l'interrogation,
00:18:37mais vraiment avec Claude Code,
00:18:39il est en quelque sorte responsable de tous les poids
00:18:41que vous pouvez ajuster à l'intérieur de LightRAG.
00:18:43Et pour cela, je parle de...
00:18:45si nous allons dans la section de récupération,
00:18:45tous les paramètres ici sur la droite.
00:18:47Encore une fois, Claude Code sait lesquels sont les meilleurs pour vous.
00:18:49Globalement, j'espère que cela a expliqué
00:18:52à quel point il est facile de configurer rag anything,
00:18:56et aussi à quel point il est facile d'ajouter ce niveau de fonctionnalité
00:18:58à vos systèmes RAG,
00:19:02ce qui n'est tout simplement pas possible dans beaucoup d'entre eux
00:19:03ou alors c'est très coûteux.
00:19:05Et ceci est relativement bon marché,
00:19:06surtout avec tout ce système d'analyse locale MinerU
00:19:08que nous avons pu mettre en place.
00:19:11Comme toujours, dites-moi ce que vous en avez pensé.
00:19:12N'oubliez pas d'aller voir Chase AI+
00:19:14si vous voulez mettre la main sur cette masterclass Claude Code,
00:19:16et je vous dis à bientôt.

Key Takeaway

L'extension RAG Anything permet d'intégrer des documents non textuels dans LightRAG en utilisant l'analyse locale MinerU pour transformer les images et graphiques en entités exploitables par un graphe de connaissances.

Highlights

RAG Anything surmonte l'incapacité des systèmes RAG classiques à traiter les documents non textuels comme les images, les graphiques et les scans PDF.

L'outil open source MinerU décompose localement les documents en composants spécifiques tels que les en-têtes, les tableaux et les équations LaTeX.

Le système utilise PaddleOCR pour extraire le texte et capture des captures d'écran pour les éléments visuels complexes afin de réduire les coûts d'API.

L'intégration avec Claude Code permet d'automatiser l'ingestion de documents complexes via une compétence personnalisée et un script Python.

Une analyse de revenus fictifs de Novatech Inc démontre l'extraction réussie de données mensuelles précises à partir d'un graphique à barres scanné.

Timeline

Limitations du RAG textuel et solution RAG Anything

  • La majorité des systèmes RAG échouent lors du traitement de documents contenant des images ou des tableaux complexes.
  • RAG Anything fonctionne comme une enveloppe autour de LightRAG pour intégrer les données non textuelles dans le même graphe de connaissances.
  • L'utilisation de Claude Code simplifie l'ingestion de documents scannés via des scripts automatisés.

Les systèmes traditionnels sont limités au texte pur, ce qui exclut les documents PDF scannés ou les rapports riches en graphiques. RAG Anything résout ce problème en se branchant directement sur l'infrastructure LightRAG existante. Cette approche permet de poser des questions complexes sur des visuels tout en conservant une interface unifiée pour l'utilisateur final.

Architecture technique et traitement par composants

  • Le programme open source MinerU segmente les documents en blocs de texte, tableaux, images et équations.
  • Les modèles spécialisés comme PaddleOCR transforment le texte scanné en texte brut manipulable par un LLM.
  • Les éléments visuels irréductibles sont convertis en captures d'écran pour une analyse ultérieure par vision artificielle.

MinerU agit comme un scalpel qui identifie la nature de chaque segment du document sans en comprendre initialement le sens. Le texte est extrait via OCR, tandis que les équations sont converties en format LaTeX. Cette séparation permet de traiter chaque type de donnée avec l'outil le plus adapté avant l'étape de compréhension par l'IA.

Fusion des données et optimisation des coûts

  • Le système génère des bases de données vectorielles et des graphes de connaissances distincts pour le texte et les images.
  • L'analyse locale réduit drastiquement les appels API coûteux en isolant uniquement les captures d'écran nécessaires pour les modèles de vision.
  • La fusion finale réunit les données de RAG Anything et de LightRAG en une structure unique cohérente.

Le traitement hybride évite d'envoyer l'intégralité d'un document massif à un modèle comme GPT-4 sous forme d'images, ce qui serait lent et onéreux. En extrayant les entités et les relations séparément puis en les fusionnant, le système maintient une haute précision. L'utilisateur interroge ensuite une base de données unifiée où la provenance de l'information (texte ou image) devient invisible.

Installation et déploiement via Claude Code

  • Une commande unique dans Claude Code permet d'installer MinerU, ses dépendances et de configurer les modèles comme GPT-4o mini.
  • L'ingestion de documents non textuels nécessite l'utilisation d'une compétence spécifique pour exécuter les scripts Python requis.
  • Le passage du traitement CPU au GPU est possible en configurant PyTorch via Claude Code pour accélérer l'analyse.

L'installation automatise la correction des chemins de stockage et la mise à jour des scripts d'exemple qui peuvent contenir des erreurs d'encodage. Bien que RAG Anything ne possède pas d'interface graphique pour le téléchargement, l'utilisation de compétences dans Claude Code rend le processus transparent. Le redémarrage des conteneurs Docker est également géré automatiquement lors de l'ajout de nouveaux documents.

Démonstration pratique et analyse de données visuelles

  • Le système extrait avec succès des données financières précises à partir d'un graphique à barres inclus dans un PDF fictif.
  • L'interrogation se fait en langage naturel via une API locale sans distinction entre les sources textuelles et visuelles.
  • Claude Code optimise automatiquement les paramètres de récupération pour obtenir les meilleures réponses du graphe de connaissances.

L'exemple de Novatech Inc montre que le système peut lister les revenus mensuels de janvier à septembre 2025 simplement en analysant l'image d'un graphique. Les vecteurs générés permettent de retrouver l'information visuelle aussi facilement qu'une recherche textuelle. Cette capacité transforme des documents auparavant 'muets' en sources de données structurées et interrogeables à faible coût.

Community Posts

View all posts