تخطَّ إلى المحتوى

LlamaParse - تحليل المستندات ل RAG

LlamaParse - تحليل المستندات ل RAG

LlamaParse هي خدمة تحليل المستندات من فريق LlamaIndex مبنية بشكل خاص لـ LLM و RAG pipelines. تركيزها هو الحالة الصعبة: PDFs مع جداول معقدة و تخطيطات متعددة الأعمدة و أشكال و مخططات مضمنة التي غالباً ما تسطحها أدوات استخراج النصوص العامة إلى نص غير قابل للاستخدام. إنها تخرج Markdown نظيفة تحافظ على البنية والميزة المميزة لها هي تعليمات التحليل في اللغة الطبيعية — تصف كيفية وضع المستند وما يجب فعله به بدلاً من إعداد قواعد الاستخراج.

LlamaParse هي خدمة مستضافة مع طبقة مجانية (يتطلب API key). لتحليل محلي بالكامل انظر Docling أو Marker.

التثبيت

الطريقةالأمر
pippip install llama-parse
مع LlamaIndexpip install llama-index llama-parse
API keyexport LLAMA_CLOUD_API_KEY="llx-..."
التحققpython -c "from llama_parse import LlamaParse; print('ok')"

التحليل الأساسي

from llama_parse import LlamaParse

parser = LlamaParse(result_type="markdown")
documents = parser.load_data("./report.pdf")
print(documents[0].text)
المعاملالغرض
result_type"markdown" (يحافظ على البنية) أو "text"
num_workersمعالجة الصفحات المتوازية
verboseإخراج التقدم
languageتلميح لغة المستند
parsing_instructionإرشادات اللغة الطبيعية (أدناه)

تعليمات التحليل (المميز)

parser = LlamaParse(
    result_type="markdown",
    parsing_instruction="""
    هذا تقرير مالي. الحفاظ على جميع الجداول كجداول Markdown.
    لكل مخطط اكتب فقرة واحدة توصف الاتجاه الذي يظهره.
    تجاهل رؤوس الصفحات والتذييلات.
    """,
)

تصف المستند والمعالجة المرغوبة باللغة العادية بدلاً من كتابة كود الاستخراج — مفيد لـ domain-specific layouts (الفواتير والأوراق العلمية والعقود القانونية) حيث محلل عام تفعل بشكل سيء.

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"]))
الطريقةالاستخدام
load_data(path)ملف واحد و synchronous
aload_data([paths])Async و ملفات متعددة
get_json_result(path)JSON منظم مع البيانات الوصفية للصفحة
get_images(...)استخراج الصور المضمنة

المدخلات المدعومة

الصيغةملاحظة
PDFالهدف الأساسي بما فيها الممسوح ضوئياً (OCR)
DOCX / PPTX / XLSXصيغ Office
HTMLمستندات الويب
الصورPNG/JPEG عبر OCR

الربط في RAG Pipeline

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

# Markdown-aware chunking يحافظ على الجداول والأقسام السليمة
node_parser = MarkdownElementNodeParser()
nodes = node_parser.get_nodes_from_documents(docs)

index = VectorStoreIndex(nodes)

إقران إخراج Markdown مع Markdown-aware node parser هو الهدف: الجداول البقاء تحليل و chunking وهذا حيث معظم RAG pipelines تفقد حقائق tabular.

التعامل مع الجداول جيداً

التقنيةلماذا
result_type="markdown"الجداول تصبح Markdown grids
تعليم التحليل للجداولفرض معالجة الجداول المتسقة
MarkdownElementNodeParserيحافظ على الجدول في chunk واحد
serialization Row-per-sentenceجعل الصفوف الفردية قابلة للاسترجاع

التكلفة & ملاحظات عملية

الاعتبارالتفاصيل
خدمة مستضافةالمستندات يتم إرسالها إلى LlamaCloud
طبقة مجانيةصفحات محدودة يومياً
التخزين مؤقتاًإعادة تحليل نفس الملف يمكنها إعادة استخدام النتائج
الخصوصيةللمستندات الحساسة فضل parsers محلي

LlamaParse مقابل Parsers المحلية

الجانبLlamaParseDoclingMarker
الاستضافةخدمة سحابةمحليمحلي
جداول معقدةقوية جداًقويةجيدة
تعليمات مخصصةاللغة الطبيعيةConfigConfig
الخصوصيةالبيانات تترك جهازكمحلي بالكاملمحلي بالكامل
الأفضل للـتخطيطات صعبة وسريعة النتائجSelf-hosted RAG ingestionتحويل bulk محلي GPU

للمجموعات الحساسة خصوصياً استخدم Docling; لتحويل bulk محلي استخدم Marker.

الموارد