Langflow-Bundle für Web-Rendering und Dateikonvertierung#

Das EnConvert-Bundle für Langflow fügt sechs Komponenten zu jedem Workflow hinzu: Web-Seiten als Markdown oder strukturierte Daten rendern, im Web suchen, URLs einer Site ermitteln, Felder von einer Seite gegen ein Schema extrahieren und hochgeladene Dateien in Markdown oder PDF konvertieren. Jedes Seiten-Rendering wird mit einem render_quality-Score von 0,0 bis 1,0 versehen, sodass blockierte oder leere Single-Page-Apps mit einer Flagge gekennzeichnet werden, anstatt als echter Inhalt vertraut zu werden.

Paket: lfx-enconvert · Quelle: enconvert/langflow-enconvert · Lizenz: MIT

Die sechs Komponenten#

Komponente Endpunkt Aufgabe
Perceive URL POST /v2/perceive Rendert eine Seite in Markdown, bereinigtes HTML, rohes HTML, Screenshot, PDF, Links, Bilder oder strukturierte Daten mit einem render_quality-Score. Basierend auf Perceive.
Web Search POST /v2/lookup Web-, News-, Bild-, Scholar-, Patent- und Kartensuche mit Titel, URL, Snippet und Position. Basierend auf Lookup.
Discover URLs POST /v2/discover Listet URLs einer Site nach Sitemap, Crawl oder beidem auf, ohne sie zu rendern. Basierend auf Discover.
Extract Structured POST /v2/distill Extrahiert benannte Felder von einer oder mehreren Seiten oder von einer Site, die vom System durchsucht wird. Basierend auf Distill.
Convert File to Markdown POST /v1/convert/anything-to-markdown Konvertiert Word-, PowerPoint-, Excel-, PDF-, EPUB-, RTF-, HTML- und Textdateien in Markdown. Basierend auf Anything to Markdown.
Convert File to PDF POST /v1/convert/anything-to-pdf Konvertiert ein Dokument, eine Tabellenkalkulation, eine Präsentation, ein Bild, HTML oder eine Textdatei in ein PDF. Basierend auf Anything to PDF.

Alles läuft gegen die gleiche REST API, die auf dieser Website dokumentiert ist, daher gelten Ihr Plan-Kontingent, Ratenlimits und Features genau wie überall sonst.


Installation#

pip install lfx-enconvert

Langflow erkennt das Bundle automatisch beim Serverstart. Die sechs Komponenten erscheinen unter dem EnConvert-Bundle in der Komponenten-Seitenleiste — keine Konfiguration erforderlich.

Für lokale Entwicklung oder Tests ohne pip-Installation können Sie die Komponenten-Ordner über die Umgebungsvariable LANGFLOW_COMPONENTS_PATH in Ihre Langflow-Instanz kopieren. Siehe Deployment-Anleitung für Details.


Fügen Sie Ihren API-Schlüssel hinzu#

Jede der sechs Komponenten hat ein Feld EnConvert API Key.

  1. Generieren Sie einen privaten API-Schlüssel im Dashboard. Private Schlüssel beginnen mit sk_.
  2. Erstellen Sie in Langflow eine globale Variable für den Schlüssel (damit er nie in der Flow-JSON erscheint):
  3. Gehen Sie zu Settings > Global Variables und fügen Sie eine neue Variable namens enconvert_key mit Ihrem privaten Schlüssel hinzu.
  4. Wählen Sie in jeder Komponente, die Sie zum Flow hinzufügen, diese globale Variable im Feld EnConvert API Key aus.
Öffentliche Schlüssel funktionieren nicht. Schlüssel, die mit pk_ beginnen, sind für Browser-Widgets gedacht und werden von jeder Komponente in diesem Bundle abgelehnt. Mehr erfahren Sie unter Private Keys.

Eine Seite rendern#

Perceive URL übernimmt die URL aus dem Flow und zwei Einstellungen aus dem Formular:

Parameter Gesetzt von Standard Zweck
URL Der Flow -- Die absolute URL, die gerendert wird
Outputs Das Formular markdown Beliebig aus markdown, html_cleaned, html_raw, screenshot, screenshot_full_page, pdf, links, images, structured, kommagetrennt
Only Main Content Das Formular Aus Navigation, Header und Footer entfernen, nur den Artikel behalten

Die Komponente gibt jedes Artefakt als URL mit 15 Minuten Gültigkeitsdauer zurück, sowie den Text von Markdown, bereinigtem HTML und rohem HTML als Inline bis 256 KB. Alles Größere und alles Binäre bleibt ein Link. Das structured-Output ist die Ausnahme und kommt Inline an.


Der render_quality-Score#

Jedes Perceive-Ergebnis enthält render_quality, eine Zahl von 0,0 bis 1,0. Null bedeutet, die Seite wurde blockiert oder ist leer; eins bedeutet ein sauberes Rendering. Der Inhalt kommt trotzdem zurück, gekennzeichnet, sodass ein schlechtes Lesen nie stillschweigend in eine Zusammenfassung einfließt.

Verwenden Sie eine If/Else-Komponente nach Perceive, um sich anhand des Scores zu verzweigen, bevor Sie das Markdown an eine LLM-Komponente übergeben. Ein niedriger Score ist ein Signal, dass die Seite nicht das ist, was der Agent erwartet.


Suchen und Ermitteln#

Web Search nimmt eine Abfrage und optionale Filter und gibt ein Array von Ergebnissen zurück, jeweils mit Titel, URL, Snippet und Position.

Discover URLs nimmt eine Site-URL und einen Modus (Sitemap, Crawl oder hybrid) und gibt eine flache Liste von URLs auf dieser Site zurück, ohne jede einzelne zu rendern. Verwenden Sie dies vor Perceive, um eine Site zu kartieren, wenn Sie wissen möchten, was dort ist, ohne die Rendering-Kosten.


Felder extrahieren#

Extract Structured benötigt ein Schema und genau eine Quelle. Das Schema ist ein JSON-Objekt in einer von zwei Formen. Eine flache Zuordnung von Feldname zu Klartextbeschreibung ist die schnelle:

{"title": "der Seitentitel", "price": "der monatliche Preis in USD"}

Ein vollständiges JSON-Schema, {"type": "object", "properties": {...}}, ist das andere, wert die Tipperei, wenn Sie Typen oder verschachtelte Objekte erzwungen benötigen.

Für die Quelle übergeben Sie URLs, eine kommagetrennte Liste begrenzt auf 50, oder Discover From URL, eine einzelne Site, die das API durchsucht, geformt durch Discover Mode und Discover Max Pages. Das Übergeben beider oder keiner gibt eine Fehlermeldung zurück.

Ergebnisse kommen als Array an, ein Eintrag pro URL, jeweils mit seinen eigenen Daten und seiner eigenen extraction_tier, die sagt, ob ein deterministischer Pass oder ein Modell-Lesen der Seite die Antwort produziert hat.


Dateien konvertieren#

Convert File to Markdown und Convert File to PDF nehmen eine Langflow-Datei, keine URL. Verdrahten Sie eine Datei aus der Datei-Eingabe einer Input-Komponente oder eine Datei-Variable aus einer früheren Komponente. Die Komponente lädt die Bytes hoch und gibt eine signed Download-URL für das Ergebnis zurück, gültig für etwa 15 Minuten.

Der Dateiname der hochgeladenen Datei teilt der Komponente das Eingabeformat mit. Langflow trägt den ursprünglichen Namen durch, sodass dies normalerweise unsichtbar ist, aber eine Datei ohne verwendbare Erweiterung fällt auf ihre eigenen Bytes zurück: ein PDF, ein Bild oder ein DOCX wird aus seiner Signatur wiederhergestellt, während ein Textformat wie CSV oder HTML keine hat und mit einem 400 abgelehnt wird.


Damit bauen#

Ein Agent, der recherchiert#

Geben Sie einem Agent Web Search, Perceive URL und Discover URLs. Suche findet Kandidaten-Seiten, Perceive liest die vielversprechenden als Markdown, und Discover kartiert eine Site, wenn der Agent wissen muss, was sonst noch darauf ist, ohne alles zu rendern.

Ein Workflow, der strukturierte Daten extrahiert#

Verbinden Sie Discover URLs in Extract Structured, um die gleichen Felder von jeder Seite einer Site auf einmal zu ziehen, server-seitig durchsucht und extrahiert, geliefert als ein Ergebnisarray.

Ein Workflow, der einen Upload in eine Zusammenfassung umwandelt#

Input (Datei)  →  Convert File to Markdown  →  Text Splitter  →  LLM  →  Antwort

Konvertieren Sie die Datei in Markdown, teilen Sie sie in Chunks, übergeben Sie jeden Chunk an ein LLM zur Zusammenfassung und kombinieren Sie die Ergebnisse.


Fehlerbehebung#

Die Komponente schlägt mit 401 oder 403 fehl. Der API-Schlüssel ist falsch, fehlt oder ist ein öffentlicher pk_-Schlüssel. Überprüfen Sie, dass Sie einen privaten Schlüssel (sk_-Präfix) in der globalen Variable gespeichert haben und diesen in der Komponente EnConvert API Key ausgewählt haben. Testen Sie den Schlüssel im Dashboard, indem Sie auf seine Reihe klicken.

Perceive gibt einen Link zurück, wo Markdown erwartet wird. Das Markdown überschritt das 256-KB-Inline-Limit, sodass die Komponente die signed URL stattdessen weitergab. Rufen Sie es mit einem einfachen GET und ohne API-Schlüssel ab. Only Main Content bringt normalerweise eine lange Seite unter das Limit.

Eine Komponente meldet, dass die Operation nicht in meinem Plan ist. Perceive, Web Search, Discover und Extract Structured ziehen aus dem monatlichen Ops-Kontingent Ihres Plans. Überprüfen Sie Ihre Nutzung auf der Pricing-Seite.

Convert File to Markdown gibt eine 400 mit "unsupported format" zurück. Die Datei hat keine erkannte Erweiterung und ihre Bytes passen nicht zu einer bekannten Datei-Signatur. Fügen Sie die Dateiname-Erweiterung hinzu oder beheben Sie sie (z. B. .pdf, .docx, .csv) und versuchen Sie erneut.



Häufig gestellte Fragen#

Wie installiere ich das EnConvert-Bundle in Langflow?#

Installieren Sie das PyPI-Paket (pip install lfx-enconvert) und starten Sie Langflow neu. Die sechs Komponenten erscheinen unter dem EnConvert-Bundle in der Seitenleiste. Keine Konfiguration erforderlich.

Kann ich einen öffentlichen API-Schlüssel verwenden?#

Nein. Öffentliche pk_-Schlüssel sind nur für Browser-Widgets und werden von jeder Komponente abgelehnt. Generieren Sie einen privaten Schlüssel im Dashboard und verwenden Sie diesen.

Wie speichere ich den API-Schlüssel sicher, damit er nicht in der Flow-JSON erscheint?#

Erstellen Sie eine globale Variable in Langflow (Settings > Global Variables), speichern Sie Ihren privaten Schlüssel dort und wählen Sie diese Variable in der EnConvert API Key jeder Komponente aus. Globale Variablen werden sicher gespeichert und werden nie in den Flow exportiert.

Wie rendere ich eine Web-Seite in Langflow?#

Fügen Sie die Perceive URL-Komponente hinzu, geben Sie ihr eine URL und lassen Sie Outputs auf dem Standard. Die Komponente rendert die Seite und gibt das Markdown Inline in der Komponenten-Ausgabe zurück. Schalten Sie Only Main Content ein, um Navigation und Footer zu entfernen.

Was bedeutet render_quality?#

Ein Score von 0,0 (blockiert/leer) bis 1,0 (sauberes Rendering). Verwenden Sie eine If/Else-Komponente nach Perceive, um sich anhand dieses Scores zu verzweigen, damit Ihr Workflow einem schlechten Lesen misstraut.

Kann ich Felder von mehreren Seiten auf einmal extrahieren?#

Ja. Discover URLs listet alle URLs auf einer Site auf, und Extract Structured akzeptiert eine kommagetrennte Liste von URLs (bis zu 50). Übergeben Sie die entdeckten URLs und das Schema an Extract Structured, um die gleichen Felder von jeder Seite zu ziehen.