Để trích xuất dữ liệu hàng loạt từ tài liệu bằng một AI agent, viết schema vào prompt, chỉ định agent vào một thư mục, và yêu cầu danh sách ngoại lệ ở cuối. Máy chủ GroupDocs.Parser.Mcp thực hiện việc đọc cục bộ trong một container Docker, vì vậy mọi tệp đều đi qua cùng một công cụ trích xuất và không có tài liệu nào rời khỏi máy. LLM quyết định thứ tự công việc; engine đọc các tệp.
Đối với mỗi PDF trong thư mục tài liệu của tôi: trích xuất các bảng dưới dạng JSON, tính tổng cột amount, và cung cấp cho tôi một bảng gồm tên tệp, tổng, số trang.
Phiên bản từng bước với cấu hình và khắc phục sự cố có trong tài liệu: How to extract data from a folder of documents at once.
Tại sao việc trích xuất thủ công lại tạo ra dữ liệu không nhất quán?
Khi mọi người sao chép giá trị từ tài liệu từng cái một, mỗi tệp được xử lý hơi khác nhau: một người bao gồm thuế, người khác không, người thứ ba bỏ qua tệp có bố cục lạ. Sự không nhất quán này không thấy được cho đến khi so sánh các tổng. Một quy trình làm việc khắc phục điều này bằng cách làm cho các quy tắc rõ ràng và áp dụng chúng cho mọi tệp theo cùng một cách. Với một agent, các quy tắc tồn tại trong một prompt, và các công cụ trích xuất hoạt động giống hệt nhau trên tệp thứ nhất và tệp thứ hai trăm.
Làm thế nào để xây dựng quy trình làm việc?
Gắn (mount) thư mục vào container dưới đường /data, đặt GROUPDOCS_MCP_STORAGE_PATH=/data, và cung cấp cho agent các bước sau.
- Kiểm tra giấy phép. Prompt: “Run get_license_status and tell me the mode.” Việc trích xuất không có giấy phép bị giới hạn, và việc đọc một phần qua một thư mục là một bộ dữ liệu sai lầm một cách âm thầm.
- Phân loại (triage) thư mục. Prompt: “For each file, report format, page count and whether text extraction returns anything.”
get_document_infocung cấp loại, số trang và kích thước, và một lời gọiextract_textmột trang cho thấy liệu có văn bản hay không. - Sửa schema. Prompt: “For each readable file, extract the line-items table as JSON. Columns: item, quantity, amount. Total the amount column.” Điều này sử dụng
extract_tables. - Thu thập các lỗi một cách rõ ràng. Prompt: “List every file that failed, was password-protected, or returned no table, with the reason.” Một lô báo cáo chỉ thành công sẽ che giấu các ngoại lệ.
- Ghi đầu ra. Prompt: “Write one row per file to a CSV in the output folder.”
Các tệp được giải quyết bằng tên bên trong container, vì vậy agent truyền invoice-014.pdf, không phải đường dẫn trên host.
Agent quyết định gì, và engine thực hiện gì?
| Bước | Agent quyết định | Engine thực hiện |
|---|---|---|
| Phân loại | Tệp nào sẽ được trích xuất | Báo cáo loại, số trang và kích thước; extract_text cho thấy liệu có văn bản hay không |
| Thu thập | Công cụ nào mỗi tệp cần | Trả về văn bản hoặc các hàng bảng từ tệp |
| Xác thực | Tổng có khớp với văn bản không | Không có gì; agent so sánh |
| Ngoại lệ | Tệp nào sẽ vào danh sách | Trả về thông báo lỗi cho tệp không hợp lệ |
| Đầu ra | Định dạng của CSV | Không có gì; agent ghi nó |
Sự phân chia là điểm then chốt. Việc thu thập các giá trị là công việc engine quyết định; việc đánh giá và lắp ráp chúng là của agent.
Example session (abridged):
You: Check the license, triage the folder, then extract line items from every readable PDF and list the exceptions.
Agent: [calls get_license_status, get_document_info x12, extract_text, extract_tables x10]
License mode: evaluation. Results below are a smoke test.
12 files: 10 with a text layer, 1 scan, 1 password-protected.
Totals written for 10 files. Exceptions: scan-007.pdf (no text layer), hr-020.pdf (password required).
Điều gì xảy ra với các tệp không phù hợp?
Một bản scan không có lớp văn bản, vì vậy việc trích xuất bảng sẽ không trả về gì cho nó. Đặt chúng sang một bên, hoặc cho phép agent chuyển sang extract_barcodes khi trang chứa số theo dõi hoặc mã đơn hàng. Danh sách chuyển tiếp này cũng là một danh mục các phần của kho lưu trữ là bản scan. Một tệp được bảo vệ bằng mật khẩu sẽ thất bại trong lời gọi của nó, vì vậy yêu cầu agent báo cáo và tiếp tục; các công cụ chấp nhận đối số password khi bạn có.
Làm sao để duy trì một lần chạy lớn với chi phí hợp lý?
- Giới hạn theo trang khi dữ liệu có vị trí đã biết, chẳng hạn như trang đầu tiên của mỗi hoá đơn.
- Tránh
extract_imageshàng loạt. Nó ghi một tệp cho mỗi hình ảnh, và một thư mục các báo cáo có hình minh hoạ sẽ tạo ra hàng trăm tệp. - Theo dõi việc sử dụng có tính phí. Dưới giấy phép tính phí, mỗi lời gọi đều bị tính phí xử lý, vì vậy một lần quét có mục tiêu sẽ rẻ hơn so với một lần quét toàn diện.
Những giới hạn là gì?
Không có giấy phép, việc trích xuất bị giới hạn; các giới hạn cụ thể có trên trang giấy phép của thư viện. Máy chủ không có OCR, vì vậy văn bản đã scan không thể được nắm bắt. Nó chỉ được cung cấp dưới dạng hình ảnh Docker; không có lệnh dnx.
Làm sao để đăng ký máy chủ?
Một mục nhập thủ công tối thiểu cho Cursor, Claude Desktop hoặc Windsurf, sử dụng các đường container từ tài liệu cấu hình 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"]
}
}
}
Câu hỏi thường gặp
Tôi có thể xử lý một thư mục hoá đơn bằng AI mà không tải chúng lên không?
Có. Container đọc thư mục đã gắn và giao tiếp với client của bạn qua stdio, vì vậy các hoá đơn vẫn ở trên máy của bạn.
Làm sao để trích xuất văn bản hàng loạt từ PDF cục bộ?
Yêu cầu agent lặp qua thư mục và gọi extract_text cho mỗi tệp, trang từng trang đối với tài liệu dài, vì các đầu ra rất lớn sẽ bị cắt ngắn bằng một dấu hiệu.
Agent có thể tự động nhập dữ liệu từ tài liệu không?
Nó có thể lắp ráp các hàng đã trích xuất thành CSV hoặc bảng tóm tắt. Xem lại danh sách ngoại lệ trước khi bất kỳ dữ liệu nào được nhập vào hệ thống khác.
Đi sâu hơn
- Tài liệu, hướng dẫn chuẩn: How to extract data from a folder of documents at once
- Trung tâm tài liệu: GroupDocs.Parser MCP Server
- Bắt đầu tại đây: 3 ways to extract document data with AI agents and MCP (text, tables, images)
- Liên quan: Tables out of PDFs, into JSON, without an LLM guessing the cells
- Liên quan: Scan-to-record automation with AI agents
- Mô hình triển khai tại chỗ và bảo mật: 3 architectures for AI document processing, and the one that keeps files inside your network
- Câu hỏi: GroupDocs Parser forum
- Nguồn: GroupDocs.Parser.Mcp on GitHub