כדי לחלץ נתונים בכמות גדולה ממסמכים בעזרת סוכן AI, כתבו את הסכמה בתיאור הפקודה, הפנו את הסוכן לתיקייה, ודרשו רשימת חריגות בסוף. השרת GroupDocs.Parser.Mcp מבצע את הקריאה מקומית במכולת Docker, כך שכל קובץ עובר דרך אותם כלי חילוץ ואין מסמך שעוזב את המחשב. ה‑LLM מחליט את סדר העבודה; המנוע קורא את הקבצים.

לכל קובץ PDF בתיקיית המסמכים שלי: לחלץ את הטבלאות כ‑JSON, לסכם את עמודת הסכום, ולתת לי טבלה אחת של שם הקובץ, הסכום, מספר העמודים.

גרסת הצעדים המפורטת עם תצורה ופתרון בעיות נמצאת בתיעוד: כיצד לחלץ נתונים מתיקייה של מסמכים בבת אחת.

למה חילוץ ידני יוצר נתונים לא עקביים?

כאשר אנשים מעתיקים ערכים ממסמכים אחד אחרי השני, כל קובץ מטופל במקצת אחרת: אדם אחד כולל מס, אחר לא, שלישי מדלג על הקובץ עם הפריסה המוזרה. חוסר העקביות אינו נראה עד שהסכומים מושווים. זרימת עבודה מתקנת זאת על‑ידי הפיכת הכללים למפורשים ויישומם על כל קובץ באותו האופן. עם סוכן, הכללים חיות בתיאור פקודה אחד, וכלי החילוץ מתנהגים זהה על קובץ אחד ועל קובץ מאה ושניים.

איך בונים את זרימת העבודה?

הציבו את התיקייה במכולה כ‑/data, הגדירו GROUPDOCS_MCP_STORAGE_PATH=/data, ונתנו לסוכן את הצעדים הבאים.

  1. בדוק את הרישיון. Prompt: “Run get_license_status and tell me the mode.” חילוץ ללא רישיון מוגבל, וקרא חלקי של תיקייה הוא ערכת נתונים שגויה בשקט.
  2. סינון ראשוני של התיקייה. Prompt: “For each file, report format, page count and whether text extraction returns anything.” get_document_info מספק סוג, מספר עמודים וגודל, וקוראת extract_text חד‑עמודית מראה האם קיים טקסט.
  3. תיקון הסכמה. Prompt: “For each readable file, extract the line-items table as JSON. Columns: item, quantity, amount. Total the amount column.” זה משתמש ב‑extract_tables.
  4. איסוף כשלונות במפורש. Prompt: “List every file that failed, was password-protected, or returned no table, with the reason.” אצווה המדווחת רק על הצלחות מסתירה את החריגות.
  5. כתיבת הפלט. Prompt: “Write one row per file to a CSV in the output folder.”

קבצים נפתרים לפי שם בתוך המכולה, ולכן הסוכן מעביר invoice-014.pdf, ולא נתיב מארח.

מה הסוכן מחליט, ומה המנוע עושה?

שלב הסוכן מחליט המנוע עושה
סינון ראשוני אילו קבצים לחלץ מדווח על סוג, מספר עמודים וגודל; extract_text מציג האם קיים טקסט
לכידה איזה כלי כל קובץ צריך מחזיר טקסט או שורות טבלה מהקובץ
אימות האם סכום תואם לטקסט שום דבר; הסוכן משווה
חריגות אילו קבצים נכנסים לרשימה מחזיר את הודעת הכשל עבור קובץ פגום
פלט מבנה ה‑CSV שום דבר; הסוכן כותב אותו

הפיצול הוא העיקר. לכידת הערכים היא עבודה דטרמיניסטית של המנוע; השיפוט וההרכבה הם של הסוכן.

דוגמת שיחה (מקוצרת):

אתה:    Check the license, triage the folder, then extract line items from every readable PDF and list the exceptions.
סוכן:  [calls get_license_status, get_document_info x12, extract_text, extract_tables x10]
        License mode: evaluation. Results below are a smoke test.
        12 קבצים: 10 עם שכבת טקסט, 1 סריקה, 1 מוגן בסיסמה.
        סכומים נכתבו עבור 10 קבצים. חריגות: scan-007.pdf (אין שכבת טקסט), hr-020.pdf (נדרשת סיסמה).

מה קורה לקבצים שלא מתאימים?

סריקה אינה כוללת שכבת טקסט, ולכן חילוץ טבלאות מחזיר כלום עבורה. ניתן להוציא אותן מהתהליך, או לאפשר לסוכן לעבור ל‑extract_barcodes כאשר העמוד מכיל מספר מעקב או קוד הזמנה. רשימת הפיל‑תוך משמשת גם כמלאי של אילו חלקים בארכיון הם סריקות. קובץ מוגן בסיסמה נכשל בקריאה שלו, ולכן יש לבקש מהסוכן לדווח עליו ולהמשיך; הכלים מקבלים ארגומנט password כאשר יש לכם סיסמה.

איך לשמור על ריצה גדולה במחיר סביר?

  • הגבל לפי עמוד כאשר הנתונים נמצאים במיקום ידוע, כגון העמוד הראשון של כל חשבונית.
  • הימנע מ‑extract_images בכמות גדולה. הוא יוצר קובץ לכל תמונה, ותיקייה של דוחות מאויירים מייצרת מאות.
  • שמור על שימוש מדוד. תחת רישיון מדוד כל קריאה מחויבת לעיבוד, ולכן סריקה ממוקדת עולה פחות מסריקה מקיפה.

מה המגבלות?

בלי רישיון, החילוץ מוגבל; המגבלות המדויקות נמצאות ב‑דף הרישוי של הספרייה. לשרת אין OCR, ולכן לא ניתן לתפוס טקסט מסרוק. הוא מסופק רק כתמונת Docker; אין פקודת dnx.

איך רושמים את השרת?

כניסה ידנית מינימלית עבור Cursor, Claude Desktop או Windsurf, תוך שימוש בנתיבי המכולה מתיעוד תצורת Parser:

{
  "mcpServers": {
    "groupdocs-parser": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
               "-v", "/path/to/documents:/data",
               "-e", "GROUPDOCS_MCP_STORAGE_PATH=/data",
               "ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
    }
  }
}

שאלות נפוצות

האם אני יכול לעבד תיקיית חשבוניות עם AI ללא העלאתן?
כן. המכולה קוראת את התיקייה המותקנת ומשוחחת עם הלקוח שלכם דרך stdio, כך שהחשבוניות נשארות במחשב שלכם.

איך אני מחלץ טקסט מ‑PDFs במקביל באופן מקומי?
בקשו מהסוכן לעבור על התיקייה ולקרוא extract_text לכל קובץ, עמוד אחרי עמוד למסמכים ארוכים, מכיוון שפלטים גדולים מאוד נחתכים עם סמן.

האם הסוכן יכול לאוטומטיזציה של הזנת נתונים ממסמכים?
הסוכן יכול להרכיב את השורות המחולצות ל‑CSV או לטבלה מסכמת. עברו על רשימת החריגות לפני שמזינים משהו למערכת אחרת.

להעמיק יותר