Zum Inhalt springen

Werk:AI mit Arnie/LlamaIndex & LlamaParse - PDF zu Markdown

aus AufEinWort, der freien Forschung
▶ Kurs AI mit Arnie (KI-Revolution) Open-Source LLMs
📽️ 2 Effizienteres RAG mit LlamaIndex und LlamaParse Datenvorbereitung für PDFs, Docs, CSV Dateien & m (12:32)
🎓 LlamaIndex & LlamaParse: PDF zu Markdown
RAG-App optimieren - Tipps zur Datenvorbereitung
▲ Firecrawl für Daten aus Webseiten
▶ LlamaIndex & LlamaParse: PDF zu Markdown
▼ Llama Parse Update
–––––––––
▶ Kurs KI-Agenten
📽️ 3EFFIZ~1 (12:32)
🎓 Effizienteres RAG mit LlamaIndex & LlamaParse
Fortgeschrittene KI-Agenten - RAG, Tools & Aktionen
▲ Tipps für bessere RAG-Apps: Firecrawl!
▶ Effizienteres RAG mit LlamaIndex & LlamaParse
▼ LlamaParse so einfach wie möglich


  • Open-Source LLMs (AKIR-Kurs)
  • KI-Agenten (AKIR-Kurs) "AKIR/Effizienteres RAG mit LlamaIndex & LlamaParse"

In diesem Video sehen wir uns an, wie wir Google Colab verwenden, um natürlich unsere PDFs, CSV-Dateien oder was auch immer so zusammenzufassen, damit sie perfekt für unser LLM sind. Denn wenn wir eine RAG-Applikation bauen wollen und die Dinge anständig hochladen wollen, damit das LLM gut trainiert wird, dann müssen wir die Inhalte eventuell umwandeln.

Ein Markdown-Text ist natürlich optimal. Die Dinge sollten so strukturiert sein, dass sie für das LLM perfekt in die Vektordatenbank eingebettet werden können.

Das da ist das Google Colab Notebook. Das habe ich von irgendeinem YouTuber irgendwannmal gefunden. Ich habe es ein klein wenig angepasst – ganz da unten, denn es geht mir um eine Summary, da unten. Danach aber,  den ganzen Rest habe ich, muß ehrlich gestehen, gleich gelassen. Worum geht es mir hier? Ich will dir erst einmal zeigen:

Es geht uns um darum, dieses File – das ist das 10-K-Filing von Apple. Das ist schon ein etwas älteres Filing. Das soll hier nur hier nur ein Beispiel sein. Aber es geht uns darum, diese riesige PDF etwas bessern zu machen.

Wir wollen den Markdown haben, damit wir die Sachen besser verarbeiten können. Hier sind natürlich viele viele Tabellen dabei, von Zahlen, und Vieles Vieles mehr. Ich scroll noch etwas runter. Du siehst, hier sind die Zahlen alle drinnen, in den Tabellen, sind einfach unübersichtlich für das LLM. Hier sind ein paar Grafiken dabei und Vieles Vieles mehr.

All das ist natürlich unstrukturiert für ein LLM unser Google Colab Notebook wird das alles viel viel besser machen. Und wir verwenden dafür LlamaParse in diesem Notebook. Und ich zeige dir jetzt Schritt für Schritt, wie all das funktioniert.

Als Erstens: Google Colab ist einfach nur eine Umgebung. Und hier leiht uns Google tatsächlich GPU-Power aus. Dafür kannst du auf „Laufzeit“ klicken. Du kannst auf „Laufzeittyp ändern“ klicken. Und hier würde ich dir raten: Du kannst CPU verwenden. Also, die CPU reicht dafür vollkommen aus. Du brauchst keine GPU verwenden für das, was wir jetzt machen. Und die CPU, die bekommst du komplett gratis ausgeliehen.

Dementsprechend klicken wir einfach mal „Speichern“. Wie gesagt, das läuft jetzt auf der CPU. Die A100 und die L4, die wirst du wahrscheinlich nicht gratis bekommen. Aber die T4, die könntest du dir sogar gratis ausleihen. Wie gesagt, das da speichern, und passt. Danach klickst du „Play“ bei der ersten Zelle. Und das solltest du trotzdem ausführen, auch wenn es nicht von Google kommt.

Was machen wir? Wir installieren in diesem Google Colab Notebook jetzt ganz einfach LlamaParse. Und ganz, ganz genauso, wie es uns auf GitHub mitgeteilt wird. Das heißt, scrollst du runter, dann bekommst du hier irgendwo die Anleitung, dass du LlamaParse natürlich erstmal installieren musst. Und bumm, das haben wir jetzt gemacht.

Als Nächstes müssen wir das 10-K-Filing von Apple importieren. Natürlich, falls du ein anderes File hast, dann musst du hier natürlich den Link eingeben. Das heißt, du gehst ganz einfach auf das File, das du hast. Du klickst darauf, und du kannst das Ding danach einfach einfügen. Such das natürlich im Internet. Das heißt, du kannst hier reingeben „10-K-Filing Tesla“, meinetwegen, was auch immer. Du kannst darauf klicken. Du kannst auch das 8-K-Filing nehmen. Also, es interessiert mich nicht wirklich, was du dafür nimmst.

Und diesen Link, den kannst du danach natürlich kopieren. Und du gehst ganz einfach in das Notebook und gibst den Link ganz, ganz genau hier ein. Wie gesagt, ich mache das einfach mit diesem 10-K-Filing von Apple. Du kannst das sogar hier einfach reinziehen, in diese Dateien. Das heißt hier, ziehst du das Ganze rein. Das habe ich vorhin tatsächlich schon gemacht. Und danach kannst du den Link auch hier geben. Also, es ist einfach nur wichtig, dass hier der richtige Link ist. Danach kannst du „Play“ klicken. Danach wurde das Ganze hier hochgeladen.

Als Nächstes, natürlich runter: Und was haben wir hier? Das da ist tatsächlich nur speziell für Google Colab, damit hier unser LlamaParse laufen kann. Wir klicken einfach nur „Play“ bei dieser Zelle.

Als Nächstes – das ist wichtig, denn wir brauchen einen LlamaCloud API Key. Und hier muss unser API Key rein. Das heißt, hier steht schon „Your LlamaCloud API Key“. Woher bekommst du einen LlamaCloud API Key? Aus der LlamaCloud. Du gehst ganz einfach hier auf die LlamaCloud. Ich geb dir natürlich den Link mit auf den Weg, wie immer. Du klickst „Create New Key“. Du gibst dem Ding einen Namen, „Parse Me“. Und wir klicken „Create New Key“. Das Ding kopieren wir jetzt einfach mal. Wir gehen zurück in Google Colab. Das Ding muss dann hier rein. Meinen Key werde ich natürlich danach wieder löschen.

Sobald das drinnen ist, kannst du hier „Play“ klicken bei dieser Zelle. Danach gehen wir runter. Natürlich müssen wir hier unser Apple-PDF mit eingeben. Das heißt, natürlich, falls du was anderes hast, dann bitte klick hierrauf und gib bitte den richtigen Content ein.

Danach klicken wir hier „Play“. Jetzt geht es los, und das Ganze war hier tatsächlich schon erfolgreich. Und hier unten beim Dokument klicken wir noch mal „Play“, damit die Dinge hier angezeigt werden. Das heißt, ja, jetzt haben wir hier das ganze Dokument hier in diesem Textfile. Und du siehst, das ist natürlich richtig, richtig groß und für uns aktuell natürlich auch noch unübersichtlich. Aber wir können das natürlich auch drucken als Textdatei. Und wenn ich hier „Play“ klicke, dann werden mir nur 1.000 Charaktere angezeigt.

Ich habe das Notebook vorhin schon laufen lassen. Deshalb sind die Dinge hier noch mit integriert. Und so sieht das Ding aus, wenn ich es laufen lasse. Also, das sind hier die ersten 1.000 Zeichen. Du kannst das auch erhöhen, wenn du magst, oder auch nur auf 100 setzen. Das kannst du machen, wie du magst. Dann werden dir halt nur 100 Zeichen gezeigt.

Danach gehen wir runter. Und was machen wir hier? Wir machen jetzt ein neues File. Und das wird danach automatisch gespeichert in diesen Ordner. Das heißt, ich klicke hier tatsächlich „Play“. Und bumm, jetzt haben wir das Dokument sofort runtergeladen. Und das Dokument wird in Markdown gespeichert.

Das heißt, gehe ich jetzt hier drauf, dann siehst du, ich habe jetzt das Markdown. Und das kann ich natürlich herunterladen. Das heißt, ich klicke hier auf „Herunterladen“, und ich habe das jetzt sofort auf meinem Computer. Ich habe das vorhin im Test schon runtergeladen. Das heißt, ich gehe auf meine Downloads, und hier habe ich jetzt den Markdown-Text. Und den will ich einfach mal öffnen.

Ich öffne den ganz einfach mit dem Editor. Nur einmal – wupp. Und so sieht das Ding aus. Ich öffne daneben noch die PDF, damit du den Unterschied siehst. Das heißt, so sieht natürlich meine PDF aus. Ich mache das etwas übersichtlicher noch, Entschuldigung. Und jetzt kommt hier unser Markdown-Text rein. Und schwups, ich hoffe, du siehst hier den Unterschied. Das ist jetzt für das LLM ganz einfach viel, viel, viel besser strukturiert als es vorher war. Unser LLM tut sich einfach viel leichter, die Dinge hier tatsächlich rauszulesen, weil wir jetzt alles in Markdown haben.

Das heißt, wir haben das komplette 10-K-Filing jetzt in Markdown. Und generell gesagt: Vielleicht müssen wir das LLM noch nicht mal an allem trainieren von diesem Markdown. Wenn du hier runtergehst, diese Tabellen, die haben wir hier danach natürlich nicht mehr dabei. Wir haben wirklich alles in Markdown. Alles genauso aufgeschlüsselt, dass es für unser LLM perfekt ist. Du siehst hier, alles ist ganz, ganz hübsch aufgeschlüsselt. Und zwar so, dass es perfekt ist für das LLM.

Und eventuell wollen wir das LLM nicht trainieren an jeder einzelnen Kleinigkeit, sondern an einer Zusammenfassung. Ich will das noch mal schließen. Dafür ist dieses 10-K-Filing vielleicht nicht optimal. Aber wenn du andere PDFs hast, dann ist das natürlich optimal. Und das haben wir natürlich auch alles hier mit eingebaut.

Und das ist eigentlich auch das Einzige, was ich in diesem Colab Notebook umgeschrieben habe. Das heißt, hier verwenden wir jetzt tatsächlich KI, um eine kleine Zusammenfassung zu machen. Und wir können das speichern, wieder natürlich als Markdown. Das heißt, klicke ich hier jetzt „Play“, dann wird dieser Prompt ausgeführt. Und zwar machen wir Parsing von diesem Dokument.

Wir sagen ihm ganz einfach, dass das der jährliche Report von Apple ist und dass wir eine kleine Zusammenfassung haben wollen. Das heißt, ich klicke hier „Play“. Und jetzt wird das Ding laufen. Und ich muss gestehen, das wird jetzt wahrscheinlich einen kleinen Moment dauern, bis wir dieses Ding hier haben. Und schwups, das alles ist jetzt schon geschehen.

Und was machen wir jetzt noch? Wir wollen das natürlich auch haben. Also, wir wollen es speichern. Das nennen wir hier „instructions.md“. Wir können das jetzt auch „instructions_summary“ nennen. Auch, ist mir relativ egal. Wir klicken hier „Play“.

Danach wird das jetzt natürlich auch noch gespeichert. Und wir sollten alles in diesem kleinen Ordner haben. Moment, da kommt es schon daher. Und jetzt kann ich das Ding natürlich wieder herunterladen. Das heißt, Doppelklick, und es wird hier drüben geöffnet. Ich kann aber natürlich auch drauf klicken, „Herunterladen“. Ich öffne das jetzt einfach noch mal mit meinem Editor. Downloads, Editor. Nur diesmal – ich mache das groß.

Und du siehst auch jetzt schon: Apple Inc. Annual Report Summary. Du siehst, es hat schon mal einen anderen Namen. Das ist schon mal gut. Ich gehe noch mal beim alten Dokument hier nach oben. Hier haben wir natürlich eine andere Überschrift. Und ich hoffe, du siehst auch, um wie viel das Ding kürzer geworden ist. Das heißt, du siehst hier, das ist wirklich viel, viel, viel kürzer als meine erste Datei. Wenn ich hier rüber gehe – ja, das ist in etwa doppelt so lang und auch breiter geschrieben. Du siehst, wir haben jetzt eine komplette Zusammenfassung. Und wenn du token-effizient arbeiten willst, natürlich, dann kannst du das mit dieser Zusammenfassung machen.

Bei einem jährlichen Report ist das eventuell natürlich nicht optimal. Aber wenn du die Dinge trainieren willst – also, wenn du natürlich einen Chatbot bauen willst, einen RAG-Chatbot bauen willst mit etwas anderem – dann ist das natürlich wahnsinnig, wahnsinnig praktisch. Wenn du zum Beispiel trainieren willst an gesamten Büchern oder sowas, dann ist das wirklich das Ding, das du machen solltest.

Meinetwegen hast du 30, 40 Seiten von einer PDF, mit ein paar Bildern und vieles, vieles mehr. Schmeißt es einfach in diesen Parser rein und lass es am Ende zusammenfassen, genauso, wie du gesehen hast. Und nicht vergessen, zum Schluss die Chunk Size einzustellen. Und dann hast du wirklich alles getan, was in deiner Macht steht, um die RAG-Applikation optimal aufzubauen.

In diesem Video haben wir uns LlamaParse angesehen. LlamaParse kommt von LlamaIndex. Ich zeige dir noch einmal ganz, ganz kurz, was wir gemacht haben.

Wir gehen in Google Colab. Da installieren wir LlamaParse, das von LlamaIndex kommt. Und hier hast du 1.000 Seiten gratis pro Tag. Danach musst du importieren, was du eben importieren willst – dein spezielles PDF. Du kannst es auch hier reinziehen und danach den Link hier angeben und „Play“ klicken. Danach musst du natürlich das da noch importieren. Das ist speziell für Google Colab. Du gibst deinen API Key mit ein, den du natürlich aus der LlamaCloud bekommst. Und danach klickst du einfach nur noch „Play“ bei dieser Zelle.

Und nicht vergessen: Du musst hier noch mal den Link zu deinem Content angeben. Das heißt, von hier drüben, hier bei deinem Content, beim PDF, klickst du ganz einfach nur „Pfad kopieren“. Und das kannst du hier einfügen. Dann klickst du „Play“. Du bekommst hier diesen wunderschönen Text. Dann kannst du dir 100 Zeichen anzeigen lassen oder 1.000 Zeichen – wie viel du auch immer willst. Interessiert mich nicht wirklich, wie viele Zeichen du dir hier anzeigen lässt. Danach kannst du es natürlich umwandeln in den gesamten Markdown, den du dir danach herunterladen kannst.

Und eventuell willst du sogar noch eine Zusammenfassung haben. Und du bekommst danach natürlich auch die gesamte Zusammenfassung. Und wenn du danach noch hier klickst, bei dieser Zelle, dann hast du die auch zum Herunterladen. Und schwups, schon hast du Markdown gemacht aus deiner PDF. Und das kannst du danach verwenden, um deinen RAG-Chatbot optimal zu trainieren.

In dem Sinne: Viel Spaß beim Austesten! Ja, ich weiß, das ist etwas speziell. Aber wenn dein RAG-Chatbot komplett perfekt laufen soll, müssen die Daten natürlich perfekt für das LLM sein.