Salta ai contenuti

LlamaParse - Analisi di Documenti per RAG

LlamaParse - Analisi di Documenti per RAG Cheatsheet

LlamaParse è un servizio di analisi di documenti dal team LlamaIndex, costruito specificamente per pipeline LLM e RAG. Il suo focus è il caso difficile: PDF con tabelle complesse, layout multi-colonna, figure e grafici incorporati che gli estrattori di testo generico appiattiscono in testo inutilizzabile. Output Markdown pulito che preserva la struttura, e la sua caratteristica distintiva è istruzioni di analisi in linguaggio naturale — descrivi come il documento è disposto e cosa farvi, piuttosto che configurare regole di estrazione.

LlamaParse è un servizio hosted con un tier gratuito (chiave API richiesta). Per analisi completamente locale vedi Docling o Marker.

Installazione

MetodoComando
pippip install llama-parse
Con LlamaIndexpip install llama-index llama-parse
Chiave APIexport LLAMA_CLOUD_API_KEY="llx-..."
Verificapython -c "from llama_parse import LlamaParse; print('ok')"

Analisi di Base

from llama_parse import LlamaParse

parser = LlamaParse(result_type="markdown")
documents = parser.load_data("./report.pdf")
print(documents[0].text)
ParametroScopo
result_type"markdown" (che preserva la struttura) o "text"
num_workersElaborazione parallela di pagine
verboseOutput di progresso
languageSuggerimento della lingua del documento
parsing_instructionGuida in linguaggio naturale (sotto)

Istruzioni di Analisi (il differenziatore)

parser = LlamaParse(
    result_type="markdown",
    parsing_instruction="""
    Questo è un report finanziario. Preserva tutte le tabelle come tabelle Markdown.
    Per ogni grafico, scrivi una descrizione di un paragrafo della tendenza che mostra.
    Ignora intestazioni e piè di pagina.
    """,
)

Descrivi il documento e la gestione desiderata in linguaggio ordinario piuttosto che scrivere codice di estrazione — utile per layout specifici del dominio (fatture, articoli scientifici, contratti legali) dove i parser generici fanno male.

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"]))
MetodoUsa
load_data(path)File singolo, sincrone
aload_data([paths])Async, file multipli
get_json_result(path)JSON strutturato con metadati di pagina
get_images(...)Estrai immagini incorporate

Input Supportati

FormatoNota
PDFTarget primario, inclusi scansionati (OCR)
DOCX / PPTX / XLSXFormati Office
HTMLDocumenti web
ImmaginiPNG/JPEG via OCR

Collegare in 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")

# La chunking consapevole di Markdown mantiene tabelle e sezioni intatte
node_parser = MarkdownElementNodeParser()
nodes = node_parser.get_nodes_from_documents(docs)

index = VectorStoreIndex(nodes)

Accoppiare l”output Markdown con un node parser consapevole di Markdown è il punto: le tabelle sopravvivono all”analisi e al chunking, che è dove la maggior parte dei pipeline RAG perdono i fatti tabulari.

Gestione di Tabelle Bene

TecnicaPerché
result_type="markdown"Le tabelle diventano griglie Markdown
Istruzione di analisi per tabelleForza una gestione coerente delle tabelle
MarkdownElementNodeParserMantiene una tabella in un chunk
Serializzazione riga-per-fraseRende singole righe recuperabili

Costo & Note Pratiche

ConsiderazioneDettaglio
Servizio hostedI documenti sono inviati a LlamaCloud
Tier gratuitoPagine limitate al giorno
CachingRi-analizzare lo stesso file può riutilizzare i risultati
PrivacyPer documenti sensibili preferisci parser locali

LlamaParse vs Parser Locali

AspettoLlamaParseDoclingMarker
HostingServizio cloudLocaleLocale
Tabelle complesseMolto forteForteBuono
Istruzioni customLinguaggio naturaleConfigConfig
PrivacyI dati lasciano la tua macchinaCompletamente localeCompletamente locale
Migliore perLayout difficili, risultati velociIngestione RAG auto-hostedConversione bulk locale GPU

Per corpora sensibili alla privacy usa Docling; per conversione bulk locale usa Marker.

Risorse