Web Scraping für KI-Anwendungen: Crawl4AI und N8N im Zusammenspiel
Dieser Blogartikel wurde automatisch erstellt (und übersetzt). Er basiert auf dem folgenden Original, das ich für die Veröffentlichung auf diesem Blog ausgewählt habe:
n8n + Crawl4AI – Scrape ANY Website in Minutes with NO Code – YouTube.
Web Scraping für KI-Anwendungen: Crawl4AI und N8N im Zusammenspiel
Die Erstellung von Wissensdatenbanken für KI-Anwendungen erfordert oft das Extrahieren von Informationen aus dem Internet. Traditionelle Web-Scraping-Methoden können jedoch langsam, teuer und umständlich sein. Crawl4AI, ein Open-Source-Web-Scraper, verspricht hier eine Lösung. In Kombination mit N8N, einer No-Code-Automatisierungsplattform, ermöglicht Crawl4AI das schnelle und intuitive Erstellen von RAG (Retrieval-Augmented Generation) Pipelines.
Crawl4AI: Schnell, intuitiv und Open Source
Crawl4AI zeichnet sich durch seine Geschwindigkeit, intuitive Bedienung und Open-Source-Natur aus. Die einzigen Kosten entstehen durch die Cloud-Infrastruktur, auf der der Crawler gehostet wird – sofern er nicht lokal betrieben wird. Im Vergleich zu anderen Web-Scraping-Optionen, selbst innerhalb von N8N, bietet Crawl4AI deutliche Vorteile.
Workflow ohne Code: N8N macht's möglich
Mit N8N lässt sich ein Workflow erstellen, der Crawl4AI nutzt, um Webseiten zu extrahieren und in einem Vektor-Store (z.B. Supabase) für RAG zu speichern. Dieser Prozess erfordert keine Programmierung. Ein einfaches Beispiel demonstriert, wie ein KI-Agent diese Wissensdatenbank nutzen kann.
Ethisches Web Scraping: Die Robots.txt im Blick
Vor dem Scraping einer Webseite sollte stets geprüft werden, ob dies ethisch und im Einklang mit den Nutzungsbedingungen steht. Die robots.txt
-Datei einer Webseite gibt Aufschluss darüber, welche Bereiche gecrawlt werden dürfen und welche nicht. Ein verantwortungsvoller Umgang mit Web-Scraping ist unerlässlich.
Crawl4AI mit Docker bereitstellen
Um Crawl4AI in N8N nutzen zu können, muss es als API-Endpunkt bereitgestellt werden. Dies kann mithilfe von Docker erfolgen. Es gibt verschiedene Möglichkeiten:
- Integration in das Local AI Starter Kit: Eine Option für fortgeschrittene Anwender.
- Lokaler Betrieb oder auf einer Cloud-Instanz mit N8N: Eine kostengünstige Lösung, die jedoch Ressourcen beanspruchen kann.
- Dedizierte Cloud-Instanz: Empfohlen, um die Leistung von N8N nicht zu beeinträchtigen.
Plattformen wie Digital Ocean erleichtern das Hosting von Docker-Containern als API-Endpunkte. Bei der Konfiguration ist darauf zu achten, dass der korrekte Port (11235) verwendet und ein API-Token für die Sicherheit gesetzt wird.
N8N Workflow im Detail
Der N8N-Workflow besteht aus mehreren Schritten:
- Abrufen der URLs: Im Beispiel wird die
sitemap.xml
-Datei der Pydantic AI-Dokumentation genutzt, um eine Liste aller verfügbaren Webseiten zu erhalten. - Konvertierung in JSON: Die XML-Daten werden in ein besser handhabbares JSON-Format umgewandelt.
- Aufteilen in einzelne Elemente: Die Liste der URLs wird in einzelne Elemente aufgeteilt, sodass N8N sie als separate Aufgaben erkennt.
- Schleife über die URLs: Eine Schleife iteriert über jede URL in der Liste.
- API-Anfrage an Crawl4AI: Für jede URL wird eine API-Anfrage an Crawl4AI gesendet, um die Webseite zu scrapen.
- Abrufen des Task-Status: Crawl4AI gibt zunächst eine Task-ID zurück. N8N fragt den Status der Aufgabe in regelmäßigen Abständen ab.
- Verarbeitung der Daten: Sobald die Aufgabe abgeschlossen ist, werden die extrahierten Daten (HTML, Markdown) verarbeitet.
- Speichern in Supabase: Die verarbeiteten Daten werden in einem Supabase Vektor-Store für RAG gespeichert. Dabei wird ein Textsplitter mit einer Chunk Size von 5000 genutzt. Metadaten, wie die ursprüngliche URL, werden ebenfalls gespeichert.
Integration mit einem KI-Agenten
Abschließend wird gezeigt, wie ein einfacher KI-Agent die erstellte Wissensdatenbank nutzen kann, um Fragen zur Pydantic AI-Dokumentation zu beantworten. Dieser Agent verwendet ein GPT-Modell und das Supabase Vektor Store Tool für RAG.
Fazit
Die Kombination von Crawl4AI und N8N ermöglicht es, auf einfache Weise und ohne Code Webseiten zu extrahieren und für KI-Anwendungen nutzbar zu machen. Dieser Ansatz bietet eine flexible und effiziente Möglichkeit, Wissensdatenbanken für RAG-basierte KI-Systeme zu erstellen. Es stellt sich die Frage, inwieweit dieser Ansatz die Entwicklung von KI-gestützten Informationssystemen beschleunigen und demokratisieren wird.