Les pipelines RAG (Retrieval-Augmented Generation) ne valent que ce que valent les données qu’ils récupèrent. Et ces données ne valent que l’étape d’analyse de documents qui alimente le découpage et les embeddings.
L’erreur la plus fréquente que nous voyons : envoyer le texte brut d’un PDF dans une base vectorielle, puis se demander pourquoi la qualité de recherche est mauvaise. Les PDF ne contiennent pas de texte structuré, mais des glyphes positionnés. Un « paragraphe » PDF est un ensemble lâche de blocs de texte sans regroupement sémantique. Les tableaux ne sont pas des tableaux : ce sont des coordonnées. Les titres ne sont pas des titres : ce sont du texte en gras, dans une police plus grande.
Le pipeline
- Document → Markdown — Convertissez PDF, DOCX, PPTX ou tout autre format en Markdown propre et structuré avec l’API AnyMD.
- Markdown → Segments — Découpez par titres et paragraphes (découpage sémantique, et non par nombre fixe de jetons).
- Segments → Embeddings — Passez chaque segment dans votre modèle d’embeddings.
- Embeddings → Base vectorielle — Indexez pour la recherche de similarité.
C’est à l’étape 1 que la plupart des pipelines RAG échouent silencieusement. Des données médiocres en entrée donnent des résultats médiocres en sortie.
Pourquoi Markdown est le meilleur format intermédiaire
Markdown préserve la structure du document — titres, listes, tableaux, blocs de code — dans un format léger que les découpeurs et modèles d’embeddings comprennent nativement. Comparez ces deux représentations des mêmes données :
Texte PDF brut :
Revenue Q1 Q2 Q3
EU €1.2M €1.4M €1.1M
US €0.9M €1.1M €1.3M
Après conversion avec AnyMD :
| Region | Q1 | Q2 | Q3 |
| :----- | :---- | :---- | :---- |
| EU | €1.2M | €1.4M | €1.1M |
| US | €0.9M | €1.1M | €1.3M |
La version Markdown a un sens sémantique. Un découpeur sémantique peut séparer aux limites des titres. Un modèle d’embeddings produit de meilleurs vecteurs pour un tableau que pour un bloc de texte rempli d’espaces. Et lorsqu’un utilisateur demande « quel était le chiffre d’affaires de l’UE au T2 ? », le segment retrouvé est le vrai tableau avec ses en-têtes de colonnes, pas des nombres isolés.
Exemple pratique
# Convert a quarterly report to Markdown
curl -X POST https://anymd.net/api/convert \
-H "Authorization: Bearer your-key" \
-F "file=@quarterly-report.pdf" \
-o report.md
# Now feed that Markdown into your chunker/embedder pipeline
La sortie Markdown préserve chaque titre, tableau, liste et paragraphe — prête à être ingérée par n’importe quel framework RAG (LangChain, LlamaIndex ou le vôtre).
La performance compte à grande échelle
AnyMD convertit un rapport de 48 pages en moins d’une seconde. Si votre pipeline traite 10 000 documents par jour, c’est la différence entre 2,2 heures de conversion avec AnyMD et 16 à 39 heures avec des alternatives Python. À l’échelle d’un pipeline RAG, la latence de conversion n’est pas un détail : c’est un goulot d’étranglement de débit.