> ## 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 est un format de document ouvert conçu pour les systèmes d'IA, et non pour les lecteurs humains ou les imprimantes. C'est le format de sortie que nous recommandons pour FineParser.

<h2 id="what-doclang-is">
  Qu'est-ce que DocLang
</h2>

La plupart des formats de document ont été conçus pour le rendu visuel. Le PDF décrit où dessiner les pixels et le HTML indique au navigateur comment mettre en page, mais ni l'un ni l'autre n'indique à un modèle de langage ce que contient un document. Les analyseurs qui les convertissent pour un usage en IA finissent par deviner l'ordre de lecture, aplatir les tableaux en chaînes de caractères et laisser de côté les figures et les métadonnées.

DocLang est un format XML contraint conçu pour les tokenizers de LLM : chaque élément correspond ainsi à un jeton unique. Chaque élément porte un rôle sémantique, des coordonnées de cadre englobant et une position dans l'ordre de lecture, et les tableaux conservent l'intégralité de leur structure en grille. Il s'agit d'une spécification et non d'un produit : n'importe quel analyseur peut la produire et n'importe quel outil peut l'exploiter. Le groupe de travail a été fondé par IBM, NVIDIA, Red Hat, ABBYY, HumanSignal et Forgis, et la spécification est développée sous l'égide de Joint Development Foundation Projects, en tant que projet LF AI & Data.

<h2 id="why-fineparser-outputs-it">
  Pourquoi FineParser le produit
</h2>

Le texte brut est peu coûteux à fournir à un modèle, car il fait disparaître la structure, tandis que HTML et Markdown la conservent au prix de nombreux jetons. DocLang, lui, préserve la structure pour une fraction de ce coût. Un tableau encodé avec le schéma OTSL de DocLang ne nécessite que cinq jetons structurels, là où l'équivalent HTML en exige vingt-huit.

DocLang définit également une représentation canonique unique pour chaque type de contenu : tous les outils qui le prennent en charge produisent donc le même résultat pour un même document. Le code écrit pour la sortie de FineParser fonctionnera avec n'importe quel autre producteur DocLang, et vos documents restent portables si vous changez d'analyseur par la suite.

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

Le fragment DocLang suivant décrit un titre et un petit tableau, chacun avec son cadre englobant sur la page.

```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>
```

Les quatre éléments `<location>` indiquent les coins du cadre englobant. Au sein du tableau, `<ched/>` introduit une cellule d'en-tête de colonne, `<fcel/>` une cellule de données et `<nl/>` marque la fin de la ligne.

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

FineParser écrit le DocLang dans un seul fichier `.doclang` contenant le balisage. La spécification DocLang définit également une archive `.dclx`, un paquet ZIP qui regroupe le balisage avec les images extraites et d'autres assets, mais FineParser ne génère pas ce format.

<h2 id="learn-more">
  En savoir plus
</h2>

Le site [doclang.ai](https://doclang.ai/) propose une vue d'ensemble du projet ainsi qu'une visionneuse interactive. La spécification complète et la boîte à outils de référence sont disponibles dans le [dépôt doclang-project](https://github.com/doclang-project/doclang) sur GitHub, qui fournit également le paquet Python `doclang` permettant de valider et d'empaqueter les fichiers DocLang.
