AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

SmolDocling: ein visuelles Sprachmodell für die effiziente Verarbeitung von Dokumenten in einem kleinen Volumen

Allgemeine Einführung

SmolDocling ist ein Visual Language Model (VLM), das vom ds4sd-Team in Zusammenarbeit mit IBM entwickelt wurde. Es basiert auf SmolVLM-256M und wird auf der Hugging Face Platform gehostet. Es ist das kleinste VLM der Welt mit nur 256M Parametern, und seine Kernfunktion besteht darin, Text aus Bildern zu extrahieren, Layouts, Codes, Formeln und Diagramme zu erkennen und strukturierte Dokumente im DocTags-Format zu erzeugen. smolDocling kann auf gewöhnlichen Geräten mit hoher Effizienz und geringem Ressourcenverbrauch ausgeführt werden. Das Entwicklerteam stellt dieses Modell als Open Source zur Verfügung, in der Hoffnung, mehr Menschen bei der Bewältigung von Dokumentenaufgaben zu helfen. Es ist Teil der SmolVLM-Familie, die sich auf die Konvertierung von Dokumenten konzentriert und für Benutzer geeignet ist, die komplexe Dokumente schnell verarbeiten müssen.

SmolDocling: ein visuelles Sprachmodell für die effiziente Verarbeitung von Dokumenten in kleinem Format-1


 

SmolDocling: ein visuelles Sprachmodell für die effiziente Verarbeitung von Dokumenten in kleinem Format-1

 

Funktionsliste

  • Textextraktion (OCR)Erkennen und Extrahieren von Text aus Bildern, Unterstützung mehrerer Sprachen.
  • Identifizierung des LayoutsAnalysieren Sie die Struktur des Dokuments im Bild, z. B. die Position von Überschriften, Absätzen, Tabellen.
  • Code-ErkennungExtrahiert Codeblöcke und bewahrt Einrückung und Formatierung.
  • FormelerkennungErkennen von mathematischen Formeln und Umwandlung in bearbeitbaren Text.
  • DiagrammerkennungParsing: Analysiert den Inhalt des Diagramms im Bild und extrahiert die Daten.
  • Verarbeitung von FormularenIdentifizieren Sie die Struktur der Tabelle und behalten Sie die Zeilen- und Spalteninformationen bei.
  • DocTags AusgabeKonvertieren von Verarbeitungsergebnissen in ein einheitliches Beschriftungsformat zur einfachen Weiterverwendung.
  • Hochauflösende BildverarbeitungUnterstützt die Eingabe von Bildern mit höherer Auflösung, um die Erkennungsgenauigkeit zu verbessern.

 

Hilfe verwenden

Die Nutzung von SmolDocling gliedert sich in zwei Teile: Installation und Betrieb. Nachfolgend finden Sie detaillierte Schritte, um den Benutzern einen schnellen Einstieg zu ermöglichen.

Ablauf der Installation

  1. Vorbereiten der Umgebung
    • Stellen Sie sicher, dass Sie Python 3.8 oder höher auf Ihrem Computer installiert haben.
    • Installieren Sie die Abhängigkeitsbibliothek, indem Sie den folgenden Befehl in das Terminal eingeben:
      pip install torch transformers docling_core
      
    • Wenn Sie einen Grafikprozessor haben, wird empfohlen, PyTorch mit CUDA-Unterstützung zu installieren, damit es schneller läuft. Prüfen Sie die Methodik:
      torch importieren
      print("GPU available:" if torch.cuda.is_available() else "Using CPU")
      
  2. Modelle laden
    • SmolDocling muss nicht manuell heruntergeladen werden, sondern ist direkt von Hugging Face per Code erhältlich.
    • Vergewissern Sie sich, dass das Netzwerk geöffnet ist und dass die Modelldateien beim ersten Lauf automatisch heruntergeladen werden.

Verwendungsschritte

  1. Bereiten Sie das Bild vor
    • Suchen Sie ein Bild, das Text enthält, z. B. ein gescanntes Dokument oder einen Screenshot.
    • Laden Sie das Bild mit Code:
      from transformers.image_utils import load_image
      image = load_image("Pfad zu Ihrem Bild.jpg")
      
  2. Initialisierung von Modellen und Prozessoren
    • Laden Sie den Prozessor und das Modell von SmolDocling:
      from transformers import AutoProcessor, AutoModelForVision2Seq
      DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
      processor = AutoProcessor.from_pretrained("ds4sd/SmolDocling-256M-preview")
      model = AutoModelForVision2Seq.from_pretrained(
      "ds4sd/SmolDocling-256M-preview",
      torch_dtype=torch.bfloat16
      ).to(DEVICE)
      
  3. DocTags generieren
    • Legen Sie die Eingaben fest und führen Sie das Modell aus:
      messages = [{"role": "user", "content": [{"type": "image"}, {"type": "text", "text": "Convert this page to docling."}]}]]
      prompt = processor.apply_chat_template(messages, add_generation_prompt=True)
      inputs = processor(text=prompt, images=[image], return_tensors="pt").to(DEVICE)
      generated_ids = model.generate(**inputs, max_new_tokens=8192)
      doctags = processor.batch_decode(generated_ids[:, inputs.input_ids.shape[1]:], skip_special_tokens=False)[0].lstrip()
      print(doctags)
      
  4. Konvertierung in gängige Formate
    • DocTags in Markdown oder andere Formate konvertieren:
      from docling_core.types.doc import DoclingDocument
      doc = DoclingDocument(name="Mein Dokument")
      doc.load_from_doctags(doctags)
      print(doc.export_to_markdown())
      
  5. Erweiterte Verwendung (optional)
    • Handhabung mehrseitiger DokumenteDocTags: Mehrere Bilder in einer Schleife verarbeiten und dann zusammenführen.
    • Leistung optimieren: Einstellungen torch_dtype=torch.bfloat16 Speichereinsparung, GPU-Benutzer können Folgendes aktivieren blitz_aufmerksamkeit_2 Beschleunigung:
      model = AutoModelForVision2Seq.from_pretrained(
      "ds4sd/SmolDocling-256M-preview",
      torch_dtype=torch.bfloat16,
      _attn_implementation="flash_attention_2" if DEVICE == "cuda" else "eager"
      ).to(DEVICE)
      

Bedienungskompetenz

  • BildanforderungenBilder müssen klar und der Text lesbar sein, je höher die Auflösung, desto besser.
  • AnpassungsparameterWenn das Ergebnis unvollständig ist, fügen Sie max_neue_tokens(Standardwert 8192).
  • StapeldateiMehrere Bilder können als Liste übergeben werden. images=[image1, image2].
  • Verfahren zur InbetriebnahmeAusgabe von Zwischenergebnissen, z.B. print Eingaben Prüfen Sie, ob die Eingabe korrekt ist.

caveat

  • Für den ersten Durchlauf ist ein Internetzugang erforderlich, danach kann es offline genutzt werden.
  • Zu große Bilder können zu einem Speichermangel führen, daher empfiehlt es sich, sie zuzuschneiden und zu bearbeiten.
  • Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie, ob die Python-Version und die abhängigen Bibliotheken korrekt installiert sind.

Mit den oben genannten Schritten können Benutzer Bilder mit SmolDocling in strukturierte Dokumente umwandeln. Der gesamte Prozess ist einfach und für Anfänger und professionelle Nutzer geeignet.

 

Anwendungsszenario

  1. akademische Forschung
    Konvertieren Sie gescannte Papiere in Text, extrahieren Sie Formeln und Tabellen zur einfachen Bearbeitung und Zitierung.
  2. Programmierung Dokumentation
    Konvertiert manuelle Bilder, die Code enthalten, in Markdown, wobei die Codeformatierung für Entwickler erhalten bleibt.
  3. Büroautomation
    Umgang mit gescannten Kopien von Verträgen, Berichten usw., Erkennung von Layout und Inhalt zur Verbesserung der Effizienz.
  4. Pädagogische Unterstützung
    Verwandeln Sie Bilder aus Lehrbüchern in bearbeitbare Dokumente, um Lehrern und Schülern die Organisation ihrer Notizen zu erleichtern.

 

QA

  1. Was ist der Unterschied zwischen SmolDocling und SmolVLM?
    SmolDocling basiert auf einer optimierten Version von SmolVLM-256M, die sich auf die Verarbeitung von Dokumenten und die Ausgabe des DocTags-Formats konzentriert, während SmolVLM allgemeiner ist und Aufgaben wie die Bildbeschreibung unterstützt.
  2. Welche Betriebssysteme werden unterstützt?
    Windows, Mac und Linux werden unterstützt und können mit installiertem Python und abhängigen Bibliotheken ausgeführt werden.
  3. Ist die Bearbeitung schnell?
    Die Verarbeitung eines Bildes dauert nur wenige Sekunden auf einem normalen Computer und sogar noch schneller für GPU-Benutzer, normalerweise weniger als eine Sekunde.
  4. Können Sie handschriftlichen Text verarbeiten?
    Ja, aber die Ergebnisse hängen von der Klarheit der Handschrift ab, und es wird empfohlen, gedruckte Textbilder zu verwenden, um beste Ergebnisse zu erzielen.
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " SmolDocling: ein visuelles Sprachmodell für die effiziente Verarbeitung von Dokumenten in einem kleinen Volumen

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)