Claude Code + RAG-Anything = GRENZENLOS

CChase AI
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Fast jedes RAG-System leidet unter genau demselben Problem.
00:00:04Sie können nur Textdokumente verarbeiten.
00:00:06Wenn man also versucht, Bilder, Diagramme, Grafiken oder Ähnliches einzugeben,
00:00:10können die meisten RAG-Systeme damit einfach nicht umgehen.
00:00:12Und als ich euch gestern LightRAG gezeigt habe,
00:00:13litt es unter genau demselben Problem.
00:00:16Aber heute werde ich euch die Lösung zeigen.
00:00:19Und diese Lösung heißt "RAG-Anything".
00:00:20RAG-Anything löst dieses Dokumentenproblem für uns.
00:00:23Es kann mit Bildern umgehen.
00:00:24Es kann Diagramme verarbeiten.
00:00:25Es kann Grafiken verarbeiten.
00:00:25Und es ermöglicht uns, ein RAG-System zu erstellen,
00:00:28das tatsächlich mit den Dokumenten arbeitet, die ihr nutzt.
00:00:31RAG-Anything stammt vom selben Team, das LightRAG entwickelt hat.
00:00:34Es lässt sich direkt in das LightRAG-System integrieren,
00:00:36das wir bereits gestern aufgebaut haben.
00:00:37Es ist also wirklich einfach, dies in unseren Stack einzuführen.
00:00:40Und deshalb zeige ich euch heute genau, wie man es einrichtet
00:00:43und wie es unter der Haube funktioniert.
00:00:44Damit ihr eines der leistungsfähigsten
00:00:46RAG-Systeme da draußen nutzen könnt.
00:00:48Falls es durch die Einleitung noch nicht offensichtlich genug war:
00:00:50Ich gehe davon aus, dass ihr bereits
00:00:52das gestrige LightRAG-Video gesehen habt.
00:00:54Ich verlinke es oben, falls ihr das noch nicht getan habt,
00:00:56denn heute setze ich voraus, dass ihr euren
00:00:58LightRAG-Server bereits eingerichtet habt.
00:00:59Ihr versteht, wie RAG funktioniert und was es mit
00:01:02dieser ganzen Wissensgraph-Sache auf sich hat.
00:01:03Denn RAG-Anything ist im Grunde ein Wrapper
00:01:06um LightRAG herum.
00:01:07Wir werden immer noch dieselbe LightRAG-Web-UI haben,
00:01:10mit einigen Unterschieden,
00:01:11aber alles, was in RAG-Anything eingespeist wird –
00:01:13also diese Nicht-Text-Dokumente –
00:01:15landet schließlich im selben Wissensgraphen.
00:01:17Wir werden ihm dieselben Fragen stellen.
00:01:19Wir werden dieselbe API zur Abfrage nutzen,
00:01:22wie wir es gestern mit Claude Code gemacht haben.
00:01:24Und die Funktionalität, die wir heute hinzufügen,
00:01:26ist signifikant.
00:01:28Es reicht nicht aus, ein RAG-System zu bauen, das rein textbasiert ist.
00:01:30Wir agieren nicht in einer Welt, die nur aus Text besteht.
00:01:32Wie viele von euch haben schon ein PDF bekommen,
00:01:34das technisch gesehen gar kein Text ist, sondern nur ein Scan?
00:01:36LightRAG kann das nicht wirklich verarbeiten, RAG-Anything schon.
00:01:39Heute wird es ein wenig technisch.
00:01:40Wir schauen unter die Haube und ich erkläre genau,
00:01:43wie dieses ganze System funktioniert.
00:01:44Aber im Großen und Ganzen: Was macht es?
00:01:46RAG-Anything analysiert einfach die Dokumente,
00:01:49die kein Text sind.
00:01:50Es macht im Grunde genau das, was LightRAG tut,
00:01:52nur eben mit diesen Nicht-Text-Dokumenten.
00:01:55Und nachdem es seinen eigenen Wissensgraphen
00:01:56und seine eigene Vektordatenbank erstellt hat,
00:01:58führt es diese mit der von LightRAG zusammen.
00:02:00Deshalb landet am Ende alles an einem schönen,
00:02:04ordentlichen Ort, an dem wir Fragen dazu stellen können.
00:02:06Die einzigen Nachteile von RAG-Anything sind,
00:02:08dass es etwas schwerfälliger ist.
00:02:09Wir müssen einige Modelle auf unseren Computer herunterladen,
00:02:12die beim Parsen dieser Nicht-Text-Dokumente helfen.
00:02:14Und wenn es darum geht, Nicht-Text-Dokumente tatsächlich einzulesen,
00:02:18können wir das nicht wirklich über die LightRAG-UI machen.
00:02:22Wir müssen ein Skript verwenden.
00:02:23Glücklicherweise kommt hier Claude Code ins Spiel.
00:02:25Für euch als Nutzer bedeutet das, nach der Einrichtung,
00:02:28müsst ihr zum Einlesen von Nicht-Text-Dokumenten
00:02:31nur Claude Code sagen: "Hey, mach weiter,
00:02:33nutze den RAG-Anything-Skill und lies dieses Dokument ein."
00:02:36So einfach ist das.
00:02:37Und ihr stellt die Fragen genauso wie vorher.
00:02:39Also wirklich nicht allzu schlimm.
00:02:40Und wie gesagt, all diese Funktionen bekommt ihr dadurch.
00:02:43Bevor wir uns ansehen, wie RAG-Anything wirklich funktioniert,
00:02:46möchte ich kurz Eigenwerbung für meine Claude Code Masterclass machen,
00:02:49die vor ein paar Wochen erschienen ist.
00:02:50Es ist die beste Anlaufstelle, um vom Anfänger zum KI-Entwickler zu werden,
00:02:53besonders wenn man keinen technischen Hintergrund hat.
00:02:55Ich aktualisiere sie buchstäblich jede Woche.
00:02:57Morgen kommt ein neues Update.
00:02:59Wenn du also jemand bist, der Claude Code wirklich
00:03:01beherrschen möchte und keine Ahnung hat, wo er anfangen soll,
00:03:03dann ist das genau das Richtige für dich.
00:03:05Einen Link dazu findet ihr in den Kommentaren.
00:03:07Es ist Teil von Chase AI Plus.
00:03:09Ich habe auch die kostenlose Chase AI Community.
00:03:11Falls euch das alles zu viel ist
00:03:12und ihr gerade erst anfangt.
00:03:14Der Link dazu steht in der Beschreibung.
00:03:15Dort findet ihr auch die Prompts und die Skills,
00:03:19über die ich heute sprechen werde.
00:03:20Schaut es euch also auf jeden Fall an.
00:03:22Nun lass uns über RAG-Anything sprechen
00:03:23und wie dieses Ding eigentlich funktioniert.
00:03:25Um ehrlich zu sein, ist es ziemlich einfach und selbsterklärend.
00:03:28Um eure Zeit nicht zu verschwenden,
00:03:29lasse ich dieses Bild einfach für etwa 10 Sekunden stehen,
00:03:32und dann machen wir mit dem nächsten Punkt weiter.
00:03:34Alles klar, ziemlich gut.
00:03:39Gut, machen wir weiter.
00:03:41War nur ein Scherz.
00:03:42Es passiert tatsächlich eine ganze Menge.
00:03:44Dieses Bild lässt es komplizierter erscheinen, als es ist.
00:03:46Wenn ihr versteht, was wir neulich mit LightRAG gemacht haben –
00:03:50erinnert euch an das Gespräch –, dann seid ihr gut vorbereitet.
00:03:52RAG-Anything funktioniert auf eine ähnliche Weise,
00:03:55nur mit ein paar zusätzlichen Schritten.
00:03:56Und ich möchte das durchgehen,
00:03:57weil ich es für wichtig halte, zu verstehen,
00:03:58wie diese Dinge funktionieren.
00:04:00Ich denke, im Bereich KI allgemein
00:04:01verliert man sich leicht in einer rein praktischen Fokussierung.
00:04:04Nach dem Motto: "Ich will nur wissen, wie ich es installiere, Chase,
00:04:05und wie ich es benutze."
00:04:06Das ist okay, ihr könnt vorspulen, wenn das auf euch zutrifft.
00:04:08Aber ich glaube, wenn man ein reiferer KI-Entwickler werden will
00:04:11und sich von der breiten Masse abheben möchte,
00:04:13die ich theoretisch durch einen Affen ersetzen könnte,
00:04:15der nur auf "Akzeptieren" klickt und Prompts
00:04:17und Skills kopiert,
00:04:18dann ist es wichtig, ein gewisses
00:04:21Verständnis für die Architektur zu haben.
00:04:22Denn das ist es, was euch von anderen unterscheiden wird.
00:04:23Und zwar nicht nur dabei, wie ihr dieses RAG-System nutzt,
00:04:24sondern auch in größeren, anspruchsvolleren Projekten.
00:04:27So fangt ihr an, eure eigenen Skills zu erstellen
00:04:30und wirklich gut in dieser Sache zu werden.
00:04:34Also, reden wir darüber.
00:04:35Also: RAG-Anything.
00:04:37Sprechen wir über das Problem.
00:04:38Das Problem ist: Ich habe ein PDF, das ein gescanntes PDF ist,
00:04:40und es ist kein echter Text,
00:04:44aber ich muss es in mein RAG-System bekommen.
00:04:45LightRAG kann damit nicht umgehen.
00:04:46Hier kommt also RAG-Anything ins Spiel.
00:04:48Es hat dieses coole Lama mit der Sonnenbrille.
00:04:51Das Erste, was passiert,
00:04:53ist, dass ich dieses Dokument in RAG-Anything einspeise.
00:04:56Und das System wird als Erstes
00:05:00ein Programm namens "MinerU" verwenden,
00:05:02das komplett lokal und kostenlos auf eurem Computer läuft.
00:05:05Es wird dieses Dokument im Wesentlichen
00:05:08in seine einzelnen Bestandteile zerlegen.
00:05:11MinerU ist ein Open-Source-Projekt.
00:05:12Es ist im Grunde ein Dokumenten-Parser,
00:05:14der eine Reihe spezialisierter Mini-Modelle enthält.
00:05:16Alles, was ihr wissen müsst, falls ihr davor zurückschreckt:
00:05:19Es ist Open Source.
00:05:21Ich packe einen Link unten in die Beschreibung.
00:05:22Und wie gesagt, das ist das Tool, das heute
00:05:23den Großteil der Arbeit für uns erledigen wird.
00:05:25MinerU schaut sich das Dokument an und sagt:
00:05:26"Okay, das hier ist eine Überschrift."
00:05:29Es zieht einen Rahmen um die Überschrift.
00:05:32Es sagt: "Das hier ist Text."
00:05:33Es sagt: "Das hier ist ein Diagramm."
00:05:36Es sagt: "Das hier ist das Bild eines Balkendiagramms."
00:05:39Und es sagt: "Das hier ist eine Gleichung in LaTeX-Schreibweise."
00:05:41Was es getan hat: Es hat das Dokument analysiert
00:05:44und es in seine speziellen Einzelteile zerlegt.
00:05:47MinerU versteht nicht, was inhaltlich darin steht.
00:05:50MinerU liest den Text nicht im herkömmlichen Sinne.
00:05:52Es erfasst den Inhalt nicht.
00:05:53Es versteht nicht, worum es in dem Diagramm geht.
00:05:55Es erkennt nur: Diagramm, Text, Bild, okay?
00:05:56Von dort aus sendet es diese Bestandteile
00:06:01an einzelne, spezialisierte Modelle, die Teil von MinerU sind.
00:06:05Das geschieht für euch völlig unsichtbar.
00:06:10Das passiert alles automatisch unter der Haube.
00:06:12Eines dieser Modelle heißt zum Beispiel "PaddleOCR".
00:06:15Das ist das Tool, das den Text analysiert.
00:06:20MinerU sendet diesen Textblock an PaddleOCR
00:06:21auf eurem Computer, und dieses extrahiert den Text.
00:06:24Anstatt eines gescannten Textes haben wir jetzt
00:06:28echten Text, der lautet: "Unternehmen X meldet ein starkes Q3 2023."
00:06:30"Ergebnisse mit Umsatzwachstum, blablabla."
00:06:34Richtig? Dasselbe gilt für diesen Text.
00:06:36Und für das Diagramm ebenso.
00:06:40Es wird ebenfalls in Text umgewandelt,
00:06:41in etwas, mit dem ein LLM umgehen kann.
00:06:43Dasselbe gilt für LaTeX-Gleichungen.
00:06:45Es gibt ein ganzes Modell dafür.
00:06:47Das ist jetzt kein LaTeX mehr, sondern tatsächlicher Text.
00:06:48Außer bei Bildern.
00:06:52Ob es nun ein Balkendiagramm ist oder einfach –
00:06:54eigentlich alles, was nicht in Text umgewandelt werden kann.
00:06:57Stattdessen wird davon
00:07:00ein Screenshot gemacht. Und das ist wichtig.
00:07:01Jetzt haben wir also einen Screenshot.
00:07:03Es ist ein Bild, ein Screenshot. Sehr gut.
00:07:05Was haben wir also?
00:07:07Wir haben ein Nicht-Text-Dokument eingefügt.
00:07:11Es wurde in seine Bestandteile zerlegt,
00:07:13und wir haben diese Bestandteile genommen
00:07:16und sie in zwei Kategorien aufgeteilt.
00:07:18Wir haben die Kategorie Text und die Kategorie Bild.
00:07:20Es ist wichtig, das zu verstehen.
00:07:22Wir haben den Text-Bereich und den Bild-Bereich.
00:07:26Es ist wichtig, sich das klarzumachen.
00:07:28Es gibt zwei Wege: Bild oder Text.
00:07:31Alles klar, seid ihr noch bei mir?
00:07:32Was nun passiert, ist folgendes:
00:07:34Wir sind fertig mit diesen internen Modellen.
00:07:36Jetzt müssen wir die schweren Geschütze auffahren.
00:07:37Jetzt brauchen wir so etwas wie GPT 5.4 Mini.
00:07:40Wobei das nicht zwingend der Fall sein muss.
00:07:42Man könnte das alles auch lokal belassen, wenn man möchte.
00:07:44Man könnte so etwas wie Ollama nutzen.
00:07:45Ich nehme also den Text-Bereich und sende ihn an GPT 5.4 Mini.
00:07:50Und ich füge einen Prompt hinzu, der besagt:
00:07:52Ich möchte, dass du diesen Text nach zwei Dingen aufteilst.
00:07:55Ich möchte, dass du diesen Text nimmst
00:07:57und ihn in Entitäten und Beziehungen unterteilst.
00:08:01Erinnert ihr euch an Entitäten und Beziehungen?
00:08:03Erinnert ihr euch an unseren Knowledge Graph?
00:08:05Entität, Entität und die Art der Beziehung dazwischen.
00:08:09Okay, und ich möchte, dass du ihn
00:08:13in Embeddings für eine Vektordatenbank umwandelst.
00:08:17Also Embeddings, einbetten,
00:08:21und dann sage ich einfach: Entitäten plus Beziehungen.
00:08:26Wenn wir nun vorausschauen: Was wird dort passieren?
00:08:29Nun, die Embeddings werden zu Einträgen
00:08:32in einer Vektordatenbank, und die Entitäten und Beziehungen
00:08:35werden zu einem Knowledge Graph,
00:08:37genau wie wir es mit LightRag gemacht haben, oder?
00:08:39Dasselbe Prinzip, nur dass es jetzt
00:08:42aus dem Text-Bereich kommt.
00:08:44Aber was ist mit den Bildern, die wir hatten?
00:08:47Was machen wir mit diesen hier?
00:08:48Dasselbe: Das wird ebenfalls an 5.4 gesendet,
00:08:52aber als Screenshot, als OCR-Vorgang.
00:08:55Wir sagen GPT 5.4: Schau dir diesen Screenshot an
00:08:59und unterteile ihn in zwei Dinge, okay?
00:09:02Embeddings und ebenfalls Entitäten plus Beziehungen.
00:09:06Warum machen wir das eigentlich so?
00:09:07Warum packen wir nicht einfach alles in denselben Prompt
00:09:09und lassen alles per OCR erfassen?
00:09:12Warum behandeln wir nicht das ganze Dokument als Screenshot?
00:09:14Weil es teuer und langsam ist.
00:09:16Was RAG-anything stattdessen macht,
00:09:17und ich finde das ziemlich clever,
00:09:19ist, es auf deinem Computer lokal präzise zu zerlegen,
00:09:21indem es Text extrahiert
00:09:24und Screenshots erstellt.
00:09:25Wenn wir also diese zwei Pfade durchlaufen,
00:09:27sparst du eine Menge Geld und Zeit.
00:09:29Stell dir vor, ChatGPT müsste
00:09:3110.000 Screenshots analysieren, den ganzen Text extrahieren
00:09:34und daraus dann Embeddings,
00:09:36Entitäten und Beziehungen erstellen.
00:09:37Das kostet viel Zeit und Geld.
00:09:38Dieser Weg ist klüger.
00:09:40Also: Entitäten und Beziehungen von der Bild-Seite,
00:09:44genau dasselbe Prinzip.
00:09:45Es fließt ebenfalls in eine Vektordatenbank
00:09:49und in einen Knowledge Graph.
00:09:52Was bedeutet das also?
00:09:53Das bedeutet, aus einem einzigen Dokument
00:09:55haben wir nun vier Dinge erstellt, richtig?
00:09:59Wir haben zwei Vektordatenbanken
00:10:02und wir haben zwei Knowledge Graphs
00:10:04aus unserem einen Nicht-Text-Dokument.
00:10:08Versteht ihr?
00:10:09Was müssen wir jetzt tun?
00:10:10Nun, es liegt auf der Hand.
00:10:11Wir müssen sie zusammenführen.
00:10:12Es nimmt also diese vier Teile
00:10:15und schiebt sie einfach zusammen.
00:10:18Sie werden quasi übereinandergelegt.
00:10:19Der Abgleich erfolgt im Wesentlichen über die Entitäten.
00:10:22Und am Ende erhält man
00:10:27eine Vektordatenbank und einen Knowledge Graph.
00:10:31Im Grunde genau dasselbe,
00:10:32was wir oben mit LightRag gemacht haben.
00:10:34Ganz einfach.
00:10:35Wenn wir nur RAG-anything nutzen würden,
00:10:38wäre es das im Grunde gewesen.
00:10:40Aber denkt daran: Wir wollen RAG-anything
00:10:44über LightRag legen.
00:10:46Ich möchte die volle Power von LightRag
00:10:48und die volle Power von RAG-anything.
00:10:50Was passiert also jetzt?
00:10:52Nun, es wiederholt sich einfach das, was ihr gerade gesehen habt.
00:10:54Schauen wir uns das mal genauer an.
00:10:55Wir haben jetzt unser RAG-anything-Set
00:11:00mit Vektordatenbank und Knowledge Graph
00:11:05und wir haben unser LightRag-Set.
00:11:06Was tun wir also?
00:11:07Wir führen sie einfach zusammen.
00:11:09Dann werden RAG-anything
00:11:13und LightRag kombiniert,
00:11:15was uns schließlich eine einzige Vektordatenbank
00:11:20und einen einzigen Knowledge Graph liefert.
00:11:21Von dort aus ist es genau wie vorher,
00:11:24als LightRag noch alleine lief, oder?
00:11:27Man stellt eine Frage zu irgendeinem Thema,
00:11:31und diese Frage wird hier oben in einen Vektor umgewandelt.
00:11:33Es zieht die relevanten Vektoren heraus
00:11:35und geht dann auch hier nach unten,
00:11:37findet die richtige Entität
00:11:39und schaut sich die nähere Umgebung an, okay?
00:11:43Vielleicht war das ein wenig verwirrend.
00:11:44Ich hoffe, ich habe es einigermaßen gut erklärt.
00:11:46Hier noch mal eine Zusammenfassung, um euch völlig zu verwirren.
00:11:51Was passiert, wenn ich ein Dokument hinzufüge, das kein Text ist?
00:11:54Es geht in RAG-anything.
00:11:56RAG-anything extrahiert den Text, wo es geht,
00:11:58und extrahiert ebenso die Bilder.
00:12:00Es sendet beides an ChatGPT
00:12:02oder welches KI-System auch immer ihr wollt.
00:12:05Dieses zerlegt alles in Embeddings,
00:12:07Entitäten und Beziehungen.
00:12:09Daraus werden Knowledge Graphs und Vektordatenbanken.
00:12:13Diese führen wir dann zusammen.
00:12:15Nun haben wir eine Vektordatenbank
00:12:17und einen Knowledge Graph für RAG-anything.
00:12:19Und da wir dies bereits in LightRag laufen lassen –
00:12:22oder falls ihr weitere Dokumente hinzugefügt habt –
00:12:24gibt es bereits eine Vektordatenbank
00:12:27und einen bestehenden Knowledge Graph.
00:12:29Um das zu lösen, führen wir sie einfach zusammen.
00:12:32Und am Ende habt ihr davon gar nichts bemerkt.
00:12:35Noch mal: Als Nutzer bleibt das alles für euch unsichtbar.
00:12:39Nichts davon muss euch wirklich kümmern.
00:12:41Das Einzige, was für euch von Bedeutung sein könnte,
00:12:42ist das, was hier drüben mit GPT 5.4 passiert,
00:12:45weil es euch etwas Geld kosten wird.
00:12:47Aber für Bildungszwecke:
00:12:50So lässt sich das RAG-anything-System
00:12:53in das LightRag-System integrieren.
00:12:55Und letztendlich
00:12:57bedeutet es einfach, dass ihr ein RAG-System habt,
00:12:58das mit Nicht-Text-Dokumenten umgehen kann.
00:13:00Und wenn ihr nach all dem immer noch da seid,
00:13:03können wir uns jetzt ansehen, wie man das Ding installiert
00:13:07und benutzt.
00:13:08Sprechen wir also über die Installation,
00:13:09die eigentliche Nutzung
00:13:10und ein paar Dinge, auf die man achten muss.
00:13:11Ich habe einen One-Shot-Prompt für Claude Code erstellt,
00:13:14der alles für euch installiert
00:13:17und die entsprechenden Modelle aktualisiert.
00:13:19Ihr müsst lediglich sicherstellen,
00:13:20dass ihr im LightRag-Verzeichnis seid, wenn ihr das ausführt.
00:13:23Es werden im Wesentlichen drei Dinge erledigt.
00:13:25Erstens wird sichergestellt,
00:13:27dass wir den korrekten Speicherpfad aktualisieren,
00:13:29da ihr bereits eine Docker-Instanz von LightRag habt.
00:13:32Zweitens wollen wir das Modell aktualisieren,
00:13:33denn laut GitHub
00:13:34wurde es ursprünglich schon vor einer Weile erstellt.
00:13:37Daher verwenden all die Beispielskripte
00:13:39Dinge wie GPT 4.0 mini.
00:13:41Ich habe es auf 5.4 nano eingestellt.
00:13:43Natürlich könnt ihr das ändern, wenn ihr wollt.
00:13:45Aber ich habe 5.4 nano gewählt und nutze
00:13:48Text-Embedding-3-Large, damit wir OpenAI
00:13:51für alles verwenden können.
00:13:51Das hält es einfach; probiert es ruhig aus.
00:13:54Da wir RAG-anything schließlich
00:13:55quasi als Wrapper über LightRag nutzen,
00:13:58sind einige der Beispielskripte im GitHub-Repo
00:14:02leider etwas fehlerhaft.
00:14:03Da gibt es etwa diesen Embedding-Double-Wrap-Bug,
00:14:05den wir Claude Code einfach korrigieren lassen,
00:14:08und es wird funktionieren.
00:14:09Ihr verwendet also einfach diesen Prompt.
00:14:12Dieser befindet sich in der Free School Community.
00:14:14Der Link dazu steht in der Beschreibung.
00:14:15Sucht einfach nach RAG-anything, dann findet ihr ihn.
00:14:18Sobald ihr den Prompt ausführt,
00:14:19beginnt der Download von allem –
00:14:21beachtet, dass es etwas umfangreicher ist,
00:14:22da auch MinerU und all diese
00:14:23Abhängigkeiten heruntergeladen werden müssen.
00:14:25Kommen wir nun zum Einlesen von Dokumenten,
00:14:26denn das ist momentan noch etwas mühsam.
00:14:28In einer idealen Welt wäre die Kombination
00:14:33aus LightRag und RAG-anything sehr effizient,
00:14:35sodass ich einfach alles, was ich will,
00:14:40über eine einzige Schnittstelle hochladen könnte.
00:14:41Ich ginge in die Benutzeroberfläche, klickte auf Upload
00:14:44und fertig.
00:14:45Das geht bei RAG-anything mit LightRag so nicht.
00:14:48Für Textdokumente funktioniert das weiterhin.
00:14:50Ihr könnt also den normalen Workflow nutzen,
00:14:52den ich im letzten Video gezeigt habe: UI benutzen
00:14:54oder den LightRag-Skill zum Hochladen verwenden.
00:14:59Mit RAG-anything klappt das jedoch nicht.
00:15:01Es muss quasi durch einen anderen Tunnel gehen,
00:15:04einen anderen Pfad.
00:15:05Und dieser Pfad bei RAG-anything
00:15:07ist ein Python-Skript.
00:15:09Es gibt keine UI, keinen Button zum Anklicken.
00:15:11Es ist buchstäblich ein Skript.
00:15:12Es ist Code, den man ausführen muss.
00:15:14Glücklicherweise kommt hier Claude Code ins Spiel
00:15:16und macht es sehr einfach, weil wir einfach
00:15:19dieses Skript im Repo in einen Skill verwandeln.
00:15:23Sobald dieser Skill erstellt ist,
00:15:25müssen Sie nur noch sagen: Claude Code,
00:15:28nutze den RAG-Anything-Skill, um all diese Dokumente,
00:15:32all diese Nicht-Text-Dokumente, hochzuladen.
00:15:33Und wenn er das tut,
00:15:34wird er den MinerU-Prozess durchlaufen.
00:15:36Es wird etwas Zeit in Anspruch nehmen, da er all diese
00:15:39Dinge tun muss, wie wir es im
00:15:41technischen Abschnitt erklärt haben,
00:15:43aber er wird es in LightRAG hochladen
00:15:45und es wird in Ihren Dokumenten
00:15:47und in Ihrem Wissensgraphen erscheinen.
00:15:49Okay, das ist der einzige merkwürdige Teil, den Sie wissen müssen.
00:15:51Der andere merkwürdige Teil ist ehrlich gesagt, dass Sie danach
00:15:54den Docker-Container neu starten müssen,
00:15:58aber als Teil des Skills geschieht das automatisch.
00:16:00Aus Ihrer Sicht als Nutzer
00:16:03ist der einzige Unterschied also, dass Sie den Skill aufrufen müssen.
00:16:06Dieser Skill, der RAG-Anything-Upload-Skill,
00:16:08befindet sich ebenfalls in der kostenlosen Community.
00:16:10Laden Sie ihn einfach herunter, legen Sie ihn in Ihren .claude-Ordner
00:16:13und dann wird er einwandfrei funktionieren.
00:16:14Ein Hinweis dazu, dass MinerU eine Weile dauert:
00:16:17Das liegt daran, wie RAG Anything funktioniert,
00:16:19wenn Sie es herunterladen – es läuft auf Ihrer CPU.
00:16:22Wenn Sie möchten, dass es auf Ihrer GPU läuft,
00:16:24benötigen Sie eine andere Version von PyTorch.
00:16:27Falls Ihnen das alles zu hoch war,
00:16:29sagen Sie Claude Code einfach, falls es Ihnen zu langsam ist:
00:16:32Hey, können wir PyTorch verwenden?
00:16:34Können wir MinerU auf unserer GPU ausführen?
00:16:36Und er wird Sie durch den Prozess führen.
00:16:37Oder eigentlich wird er alles ganz von selbst erledigen.
00:16:39Standardmäßig wird es jedoch auf Ihrer CPU laufen.
00:16:41Wissen Sie das also einfach.
00:16:42Schauen wir uns ein Beispiel dafür in Aktion an.
00:16:44Eines der Dokumente, die wir eingelesen haben,
00:16:48war dieses PDF von Novatech, richtig?
00:16:50Eine SaaS-Umsatzanalyse.
00:16:51Es ist völlig fiktiv.
00:16:52Aber der Punkt ist, wir haben etwas eingelesen,
00:16:55das diese Art von Balkendiagramm hat, richtig?
00:16:57Das wäre normalerweise als Bild extrahiert
00:16:59und an ChatGPT gesendet worden, und so weiter.
00:17:01Normalerweise könnte LightRAG das nicht verarbeiten,
00:17:03da es nur ein Bild ist.
00:17:05Es sind Diagramme, es ist schwer, das so aufzuschlüsseln.
00:17:07Aber da wir dies durch RAG Anything laufen ließen,
00:17:10können wir jetzt über Claude Code eine Frage dazu stellen.
00:17:13Ich habe Claude Code gefragt:
00:17:14Können wir unsere LightRAG-Datenbank abfragen
00:17:15bezüglich des monatlichen Umsatztrends für Novatech Inc.
00:17:18von Januar bis September 2025?
00:17:20Sie sehen hier, er hat nicht einmal den Skill benutzt.
00:17:22Er hat direkt die API-Anfrage gestellt,
00:17:24was mit der Abfrage auch völlig in Ordnung ist.
00:17:26Was war der monatliche Umsatztrend für Novatech Inc.
00:17:29von bla bla bla bla bla.
00:17:30Er hat eine vollständige Antwort gegeben.
00:17:32Ich könnte mir die Rohantwort ansehen, wenn ich wollte.
00:17:35Aber was hat er gemacht?
00:17:36Er kam mit den vollständigen monatlichen Aufschlüsselungen zurück.
00:17:39Wir sehen Januar 4,6; Februar 4,9;
00:17:43März 5,4 und so weiter und so fort.
00:17:46Um also Fragen zu diesen neuen Dokumenten zu stellen,
00:17:48ist es dasselbe wie zuvor.
00:17:49Der einzige Unterschied ist der Upload.
00:17:51Sie müssen nur diesen Skill aufrufen,
00:17:53den ich Ihnen gebe, und Claude Code sagen,
00:17:55was Sie dort hineinlegen wollen.
00:17:56Sie könnten ihn auf einen ganzen Ordner richten.
00:17:58Sie können ihn auf einen speziellen Download richten.
00:18:00Es ist genauso einfach.
00:18:01Das ist die einzige wirklich merkwürdige Sache, an die man sich gewöhnen muss,
00:18:04sind diese zwei Upload-Pfade.
00:18:05Aber die eigentliche Frage und Antwort
00:18:07erfolgt einfach in natürlicher Sprache.
00:18:09In natürlicher Sprache, selbst wenn Sie die Skills haben,
00:18:11die ich auch im letzten Video gegeben habe,
00:18:13aber Claude Code ist auch intelligent genug,
00:18:14um die API-Struktur der ganzen Sache zu verstehen.
00:18:17Weil es lokal auf Ihrem Computer ist.
00:18:19Das ist eigentlich alles, wenn es um RAG Anything geht.
00:18:21Ich weiß, der Großteil dieses Videos
00:18:22konzentrierte sich eher auf die technischen Aspekte,
00:18:24aber wie Sie sehen, nachdem wir das LightRAG-Fundament gebaut haben,
00:18:28ist es nicht allzu schwer, RAG Anything oben drauf zu setzen,
00:18:32besonders wenn wir diesen One-Shot-Prompt verwenden, den ich Ihnen gab.
00:18:35Es gibt einige Dinge, die man an den Rändern optimieren kann,
00:18:37wie bei allem, wenn es um die Abfrage geht,
00:18:39aber wirklich mit Claude Code
00:18:41ist er quasi verantwortlich für all die Gewichtungen,
00:18:43die man innerhalb von LightRAG einstellen kann.
00:18:45Und damit meine ich,
00:18:45wenn wir zum Retrieval-Abschnitt gehen,
00:18:47all die Parameter hier auf der rechten Seite.
00:18:49Wiederum weiß Claude Code, welche davon am besten für Sie sind.
00:18:52Insgesamt hoffe ich, dass dies irgendwie erklärt hat,
00:18:56wie einfach es ist, RAG Anything einzurichten,
00:18:58und auch, wie einfach es ist, diese Ebene an Funktionalität
00:19:02zu Ihren RAG-Systemen hinzuzufügen,
00:19:03was in vielen RAG-Systemen einfach nicht möglich
00:19:05oder sehr teuer ist.
00:19:06Und das hier ist relativ günstig,
00:19:08besonders mit diesem ganzen lokalen MinerU-Parsing-System,” das wir einrichten konnten.
00:19:11das wir einrichten konnten.
00:19:12Lassen Sie mich wie immer wissen, was Sie dachten.
00:19:14Schauen Sie sich unbedingt Chase AI+ an,
00:19:16wenn Sie die Claude-Code-Masterclass in die Finger bekommen wollen,
00:19:18und wir sehen uns.

Key Takeaway

RAG-Anything überwindet die Textbeschränkung herkömmlicher RAG-Systeme, indem es Dokumente lokal mit MinerU vorverarbeitet und Bildinformationen über GPT-4o-Mini kosteneffizient in einen kombinierten Wissensgraphen integriert.

Highlights

RAG-Anything erweitert das LightRAG-System um die Verarbeitung von Nicht-Text-Dokumenten wie Scans, Diagrammen und Bildern.

Das Open-Source-Tool MinerU zerlegt Dokumente lokal auf der CPU oder GPU in Bestandteile wie Überschriften, LaTeX-Gleichungen und Bild-Screenshots.

Die Architektur nutzt spezialisierte Modelle wie PaddleOCR zur Textextraktion, um Kosten im Vergleich zur rein Cloud-basierten Vision-Analyse zu senken.

Das System führt zwei separate Vektordatenbanken und Wissensgraphen für Text- und Bildinhalte zu einer einheitlichen LightRAG-Struktur zusammen.

Die Integration in Claude Code ermöglicht den Upload komplexer Dokumente über automatisierte Python-Skripte statt manueller Web-Interfaces.

In einem Testfall extrahierte das System präzise monatliche Umsatzdaten aus einem fiktiven Balkendiagramm einer SaaS-Analyse.

Timeline

Limitierungen klassischer RAG-Systeme

  • Die meisten RAG-Systeme scheitern an Dokumenten, die keine reinen Textinformationen enthalten.
  • RAG-Anything dient als Wrapper für LightRAG, um gescannte PDFs und Grafiken verarbeitbar zu machen.
  • Alle extrahierten Daten fließen am Ende in denselben Wissensgraphen für einheitliche Abfragen ein.

Standardmäßige RAG-Implementierungen sind auf digitale Textdateien angewiesen. Gescannte Dokumente oder komplexe Grafiken bleiben für diese Systeme unsichtbar. Durch die Erweiterung mit RAG-Anything werden diese Barrieren abgebaut, wobei die bestehende Infrastruktur von LightRAG als Basis erhalten bleibt.

Lokale Dokumentenanalyse mit MinerU

  • Das Open-Source-Tool MinerU erkennt Layout-Elemente wie Tabellen, Bilder und Formeln automatisch.
  • Spezialisierte Mini-Modelle wie PaddleOCR wandeln Bildtext auf dem lokalen Rechner in maschinenlesbaren Text um.
  • Inhalte, die nicht in Text transformierbar sind, werden als Screenshots für die spätere Vision-Analyse isoliert.

MinerU fungiert als technisches Herzstück für die Vorverarbeitung. Es versteht den Inhalt nicht semantisch, ordnet aber jedem Bereich des Dokuments einen Typ zu. Dies ermöglicht eine hybride Verarbeitung, bei der Text lokal extrahiert wird, während komplexe visuelle Elemente für leistungsstärkere Modelle vorbereitet werden.

Hybride Architektur und Datenzusammenführung

  • Die Trennung in Text- und Bildpfade reduziert die Token-Kosten und erhöht die Verarbeitungsgeschwindigkeit.
  • Sowohl Text- als auch Bilddaten werden in Entitäten, Beziehungen und Vektor-Embeddings übersetzt.
  • Das System verschmilzt die Ergebnisse aus RAG-Anything und LightRAG zu einer einzigen Abfrageinstanz.

Statt das gesamte Dokument als teuren Screenshot an eine Cloud-KI zu senden, wird nur der notwendige Teil visuell analysiert. Die resultierenden Wissensgraphen werden über identische Entitäten abgeglichen. Dieser Prozess bleibt für den Endanwender unsichtbar, sorgt aber für eine präzisere Datenbasis.

Installation und Workflow mit Claude Code

  • Ein One-Shot-Prompt automatisiert die Installation von MinerU und die Konfiguration der Docker-Umgebung.
  • Die Einbindung von Nicht-Text-Dokumenten erfolgt mangels UI über spezifische Python-Skripte.
  • Ein Claude-Code-Skill übernimmt die Ausführung der Skripte und den anschließenden Neustart der Container.

Die Einrichtung erfordert den Download umfangreicher Abhängigkeiten wie PyTorch für die lokale Verarbeitung. Da RAG-Anything keine grafische Benutzeroberfläche für Uploads besitzt, wird Claude Code als Schnittstelle genutzt. Der Nutzer delegiert den Upload-Prozess per Sprachbefehl an den KI-Agenten.

Praxisbeispiel: Abfrage von Diagrammdaten

  • Das System liefert detaillierte numerische Trends aus Bildquellen über eine Standard-API-Abfrage.
  • Claude Code optimiert Retrieval-Parameter wie Gewichtungen innerhalb von LightRAG automatisch.
  • Die Lösung bietet eine kostengünstige Alternative zu proprietären Enterprise-RAG-Plattformen.

Anhand einer fiktiven SaaS-Umsatzanalyse wird demonstriert, wie Bildinformationen in Textantworten fließen. Die Abfrage nach monatlichen Trends von Januar bis September lieferte exakte Zahlen, die zuvor nur grafisch vorlagen. Dies beweist die Effektivität der lokalen Vorverarbeitung in Kombination mit modernen LLMs.

Community Posts

View all posts