> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DocLang

DocLang ist ein offenes Dokumentformat, das für KI-Systeme und nicht für Menschen oder Drucker konzipiert wurde. Es ist das Ausgabeformat, das wir für FineParser empfehlen.

<h2 id="what-doclang-is">
  Was DocLang ist
</h2>

Die meisten Dokumentformate wurden für die Darstellung konzipiert. PDF beschreibt, wo Pixel gezeichnet werden, und HTML teilt einem Browser mit, wie eine Seite zu layouten ist – doch keines von beiden sagt einem Sprachmodell, was ein Dokument enthält. Parser, die solche Formate für KI-Zwecke konvertieren, raten am Ende die Lesereihenfolge, reduzieren Tabellen auf Zeichenketten und verlieren Abbildungen und Metadaten.

DocLang ist ein eingeschränktes XML-Format, das für LLM-Tokenizer entwickelt wurde, sodass jedes Element genau einem Modell-Token entspricht. Jedes Element trägt eine semantische Rolle, die Koordinaten seines Begrenzungsrahmens und eine Position in der Lesereihenfolge; Tabellen behalten ihre vollständige Rasterstruktur. Es handelt sich um eine Spezifikation und nicht um ein Produkt: Jeder Parser kann sie erzeugen und jedes Werkzeug sie verarbeiten. Gegründet wurde die Arbeitsgruppe von IBM, NVIDIA, Red Hat, ABBYY, HumanSignal und Forgis; die Spezifikation wird unter Joint Development Foundation Projects als LF AI & Data-Projekt entwickelt.

<h2 id="why-fineparser-outputs-it">
  Warum FineParser es ausgibt
</h2>

Klartext lässt sich einem Modell günstig übergeben, weil dabei die Struktur wegfällt, während HTML und Markdown die Struktur zwar bewahren, aber viele Tokens für deren Beschreibung verbrauchen. DocLang erhält die Struktur zu einem Bruchteil der Kosten. Eine mit dem OTSL-Schema von DocLang kodierte Tabelle kommt mit fünf strukturellen Tokens aus, während das entsprechende HTML achtundzwanzig benötigt.

DocLang legt außerdem für jede Art von Inhalt eine kanonische Darstellung fest, sodass jedes Werkzeug, das DocLang unterstützt, für dasselbe Dokument dieselbe Ausgabe erzeugt. Code, der für die Ausgabe von FineParser geschrieben wurde, funktioniert mit jedem anderen DocLang-Produzenten, und Ihre Dokumente bleiben portabel, falls Sie später den Parser wechseln.

<h2 id="example">
  Beispiel
</h2>

Das folgende DocLang-Fragment beschreibt eine Überschrift und eine kleine Tabelle, jeweils mit dem zugehörigen Begrenzungsrahmen auf der Seite.

```xml theme={null}
<doclang>
  <heading level="1">
    <location value="48"/><location value="40"/>
    <location value="420"/><location value="72"/>
    Q3 Financial Summary
  </heading>
  <table>
    <location value="48"/><location value="88"/>
    <location value="420"/><location value="168"/>
    <ched/>Quarter<ched/>Revenue<ched/>YoY<nl/>
    <fcel/>Q3 2024<fcel/>$42M<fcel/>+18%<nl/>
  </table>
</doclang>
```

Die vier `<location>`-Elemente geben die Ecken des Begrenzungsrahmens an. Innerhalb der Tabelle leitet `<ched/>` eine Spaltenkopfzelle ein, `<fcel/>` eine Datenzelle, und `<nl/>` beendet die Zeile.

<h2 id="files">
  Dateien
</h2>

FineParser schreibt DocLang als einzelne `.doclang`-Datei, die das Markup enthält. Die DocLang-Spezifikation definiert darüber hinaus ein `.dclx`-Archiv – ein ZIP-Paket, das das Markup zusammen mit extrahierten Bildern und weiteren Assets bündelt. Diese Form erzeugt FineParser jedoch nicht.

<h2 id="learn-more">
  Weitere Informationen
</h2>

Die Website [doclang.ai](https://doclang.ai/) bietet eine Projektübersicht und einen interaktiven Viewer. Die vollständige Spezifikation und das Referenz-Toolkit finden Sie im [doclang-project-Repository](https://github.com/doclang-project/doclang) auf GitHub, das zudem das Python-Paket `doclang` zum Validieren und Verpacken von DocLang-Dateien bereitstellt.
