TL;DR

LiteParse là PDF parser open-source (Apache 2.0) vừa được LlamaIndex phát hành ngày 19/03/2026. Viết bằng TypeScript, chạy Node.js ≥18, zero GPU, zero Python, ~100 ms/page. Điểm khác biệt không phải model ML mà là thuật toán grid projection: thay vì cố "hiểu" layout (đâu là table, column, paragraph), nó chiếu từng text item lên một lưới ký tự monospace, giữ nguyên spacing — để các LLM hiện đại (vốn quen với ASCII table và code indentation) tự đọc cột. Kết quả: page-based QA chính xác hơn PyPDF/PyMuPDF/Markitdown, latency vẫn top-tier.

What's new

LiteParse là phần lõi text-extraction được tách ra từ dịch vụ cloud LlamaParse và release thành project độc lập. Nó KHÔNG thay thế LlamaParse — chỉ là nhánh "fast & local" cho real-time agent. Có cả CLI (lit parse document.pdf), TypeScript library và Python wrapper (shell-out Node dưới mui).

  • Install 1 lệnh: npm i -g @llamaindex/liteparse (Homebrew & pip cũng có)
  • Multi-format: PDF native; DOCX/XLSX/PPTX qua LibreOffice; PNG/JPG/TIFF qua ImageMagick
  • OCR linh hoạt: Tesseract.js built-in, parallel CPU cores; pluggable HTTP server cho EasyOCR / PaddleOCR
  • 3 output: spatial text, bounding boxes (JSON), page screenshots — để agent fallback multimodal khi cần
  • Trạng thái: ~4.5k GitHub stars, 17 release trong ~5 tuần, v1.5.2 mới nhất

Why it matters

Agent AI hiện đang kẹt giữa hai cực khi đọc PDF:

  • Fast nhưng sai: PyPDF, pdfplumber — trích text trong mili-giây nhưng phá layout, nhồi cell table thành một dòng.
  • Đúng nhưng chậm: VLM-based parser (DeepSeek OCR V2, Yuan 3.0) hoặc Markitdown/Docling — cần GPU, chạy giây/page, nhiều khi non-deterministic.

Không có middle ground. LiteParse nhảy vào đúng khoảng trống này: đủ nhanh cho agent iterate (100 ms), đủ layout-aware để table không biến thành "random numbers". Logan Markewich (LlamaIndex) nói thẳng: bottleneck của agentic workflow là latency chứ không phải parsing quality — một agent chờ 10 giây cloud API không thể iterate, còn agent nhận rough text trong 100 ms có thể quét hàng chục tài liệu, chọn page quan trọng rồi mới đầu tư deeper analysis.

Technical facts — thuật toán grid projection

Đây là phần đáng đọc nhất trong deep-dive blog của LlamaIndex. 6 bước:

  1. Line grouping: text items có |Δy| ≤ medianTextHeight * 0.2 được xem là cùng dòng (dung sai cho subscript/superscript + floating-point).
  2. Anchor extraction: tìm các vị trí X tái xuất hiện nhiều lần — gọi là anchor. Có 3 loại: Left (mép trái align — đầu cột, đầu đoạn), Right (mép phải — số right-align), Center (title/header). X được round về bội số 0.25: Math.round(x * 4) / 4. Text không khớp anchor nào → Floating.
  3. Cleanup: delta filtering loại anchor lẻ tẻ không có support dọc; intercept filtering loại anchor cắt ngang nội dung lẽ ra đi cùng nhau.
  4. Snap classification: mỗi item snap vào anchor được nhiều item khác share nhất. Nếu tie: thứ tự ưu tiên left > right > center.
  5. Flowing-text escape hatch: nếu block có ≤4 anchor VÀ phần lớn dòng spans > 1/2 chiều rộng page → đây là paragraph, bỏ qua grid, join bằng space thường. Tránh artifact khi grid projection áp vào văn bản chảy.
  6. Grid projection: vị trí cột = round(pdfX / medianCharWidth). Nhưng raw position chưa đủ — cần rendering decision chain lấy max của 3 constraint:
    • Target position (raw conversion)
    • Line max (vị trí item trước + min spacing)
    • Forward anchor: khi 1 item snap ở column N, column N lan xuống các dòng dưới cho cùng snap-type
    Max đảm bảo item không chồng nhau và cột giữ alignment xuyên suốt page (quan trọng cho multi-page table).

Post-processing: sparse block compression — block có >80% whitespace bị compress (4-space gap → 2-space) để tiết kiệm token, vẫn giữ hình dáng.

Comparison — LiteParse đứng ở đâu

ToolSpeed/pageLayout-awareGPUOutput
LiteParse~100 msYes (grid)NoText + bbox + screenshots
PyPDF / pdfplumbermsNoNoRaw text
Markitdown / DoclingSecondsYes (ML)OftenMarkdown
LlamaParse (cloud)SecondsYes, bestCloudMarkdown tables, JSON schemas
DeepSeek OCR V2 / Yuan 3.0SecondsYes (vision)YesStructured
AWS Textract / Google Doc AISeconds + networkYesCloudForm/table extraction

LlamaIndex tự build dataset QA (host trên HuggingFace) rồi dùng LLM-as-judge đánh giá so với PyPDF, PyMuPDF, Markitdown. Kết quả: LiteParse cho page-based QA accuracy cao hơn trong khi vẫn giữ top-tier latency trên tài liệu dài.

Use cases

  • Coding agent đọc spec PDF: thay vì viết code pypdf mới mỗi session, agent gọi trực tiếp lit parse rồi reason.
  • Research agent batch-digest papers: grid projection giữ multi-column layout nguyên vẹn.
  • Contract analysis: agent biết clause ở Section 4.2 thực sự thuộc Section 4.2, không bị scatter.
  • Invoice workflow: email → LiteParse → LLM trích vendor/totals → Airtable/Sheets → Slack alert khi có anomaly.
  • Two-stage VLM pattern (flagship): LiteParse làm fast pass lấy text; nếu agent thấy ambiguous, nó dùng ngay page screenshot mà LiteParse cũng xuất sẵn, gửi vào GPT-4o / Claude 3.5 Sonnet cho multimodal reasoning. Đây là lý do screenshot generation được built-in.

Limitations & pricing

Giá: free, Apache 2.0, không API key, không phí per-page.

Nó KHÔNG làm:

  • Không semantic layout (không phân biệt footnote vs caption vs header)
  • Không output Markdown / JSON schema / CSV — chủ động giới hạn để giữ tốc độ
  • Yếu với: handwritten forms, academic PDF có embedded equation, scan cực xấu, nested tables phức tạp

Với những case trên → dùng LlamaParse cloud, AWS Textract, Google Document AI, hoặc một VLM. LiteParse và VLM-based parser là complementary chứ không phải competitive: cho agent chạy LiteParse trước, chỉ route những page cần reasoning sâu sang VLM.

Dependencies cần cài thêm nếu parse Office/ảnh: LibreOffice (DOCX/XLSX/PPTX) và ImageMagick (ảnh).

What's next

Roadmap chưa công bố chính thức, nhưng repo đã có 17 release trong ~5 tuần đầu (v1.5.2 là bản mới nhất) và LlamaIndex mời contribution thêm format vì pipeline thống nhất quanh "convert-to-PDF then parse." LlamaParse cloud vẫn là path premium cho accuracy cao nhất — không bị LiteParse thay thế, chỉ được bổ sung.

Nếu bạn đang build agent phải đọc PDF và iterate nhanh, thử trong 30 giây: npm i -g @llamaindex/liteparse && lit parse your.pdf.

Nguồn: LlamaIndex blog, Grid projection deep-dive, GitHub run-llama/liteparse, MarkTechPost.