Aller au contenu

LlamaParse - Analyse de Document pour RAG

LlamaParse - Analyse de Document pour RAG

LlamaParse est un service d’analyse de document de l’équipe LlamaIndex, construit spécifiquement pour les pipelines LLM et RAG. Son focus est le cas difficile : les PDF avec des mises en page complexes, des tableaux multi-colonnes, des figures et des graphiques intégrés que les extracteurs de texte génériques aplatissent en texte inutilisable. Il produit un Markdown propre qui préserve la structure, et sa fonctionnalité distinctive est les instructions d’analyse en langage naturel — vous décrivez comment le document est disposé et ce qu’il faut en faire, plutôt que de configurer les règles d’extraction.

LlamaParse est un service hébergé avec un niveau gratuit (clé API requise). Pour l’analyse entièrement locale, voir Docling ou Marker.

Installation

MéthodeCommande
pippip install llama-parse
Avec LlamaIndexpip install llama-index llama-parse
Clé APIexport LLAMA_CLOUD_API_KEY="llx-..."
Vérifierpython -c "from llama_parse import LlamaParse; print('ok')"

Analyse de Base

from llama_parse import LlamaParse

parser = LlamaParse(result_type="markdown")
documents = parser.load_data("./report.pdf")
print(documents[0].text)
ParamètreObjectif
result_type"markdown" (préservation de structure) ou "text"
num_workersTraitement parallèle des pages
verboseSortie de progression
languageIndication de la langue du document
parsing_instructionGuidance en langage naturel (ci-dessous)

Instructions d’Analyse (le différenciateur)

parser = LlamaParse(
    result_type="markdown",
    parsing_instruction="""
    Ceci est un rapport financier. Préserver tous les tableaux en tant que tableaux Markdown.
    Pour chaque graphique, écrire une description d'un paragraphe de la tendance qu'il montre.
    Ignorer les en-têtes et pieds de page.
    """,
)

Vous décrivez le document et le traitement souhaité en langage naturel plutôt que d’écrire du code d’extraction — utile pour les mises en page spécifiques au domaine (factures, articles scientifiques, contrats légaux) où les analyseurs génériques font mal.

Async & Batch

import asyncio

async def parse_many(paths):
    parser = LlamaParse(result_type="markdown", num_workers=8)
    return await parser.aload_data(paths)

docs = asyncio.run(parse_many(["a.pdf", "b.pdf", "c.pdf"]))
MéthodeUtilisation
load_data(path)Fichier unique, synchrone
aload_data([paths])Async, plusieurs fichiers
get_json_result(path)JSON structuré avec métadonnées de page
get_images(...)Extraire les images intégrées

Entrées Supportées

FormatNote
PDFCible principale, y compris numérisé (OCR)
DOCX / PPTX / XLSXFormats Office
HTMLDocuments web
ImagesPNG/JPEG via OCR

Câblage dans un Pipeline RAG

from llama_parse import LlamaParse
from llama_index.core import VectorStoreIndex
from llama_index.core.node_parser import MarkdownElementNodeParser

docs = LlamaParse(result_type="markdown").load_data("./manual.pdf")

# Le chunking conscient de Markdown maintient les tableaux et les sections intacts
node_parser = MarkdownElementNodeParser()
nodes = node_parser.get_nodes_from_documents(docs)

index = VectorStoreIndex(nodes)

L’appairage de la sortie Markdown avec un analyseur de nœud conscient de Markdown est le point : les tableaux survivent l’analyse et le chunking, c’est où la plupart des pipelines RAG perdent les faits tabulaires.

Traiter les Tableaux Bien

TechniquePourquoi
result_type="markdown"Les tableaux deviennent des grilles Markdown
Instruction d’analyse pour les tableauxForcer un traitement de tableau cohérent
MarkdownElementNodeParserGarder un tableau dans un chunk
Sérialisation ligne-par-phraseRendre les lignes individuelles récupérables

Coût & Notes Pratiques

ConsidérationDétail
Service hébergéLes documents sont envoyés à LlamaCloud
Niveau gratuitPages limitées par jour
Mise en cacheRe-analyser le même fichier peut réutiliser les résultats
ConfidentialitéPour les documents sensibles, préférer les analyseurs locaux

LlamaParse vs Analyseurs Locaux

AspectLlamaParseDoclingMarker
HébergementService cloudLocalLocal
Tableaux complexesTrès fortFortBon
Instructions personnaliséesLangage naturelConfigConfig
ConfidentialitéLes données quittent votre machineEntièrement localEntièrement local
Meilleur pourMises en page difficiles, résultats rapidesIngestion RAG auto-hébergéeConversion en masse locale

Pour les corpus sensibles à la confidentialité, utilisez Docling ; pour la conversion en masse locale, utilisez Marker.

Ressources