An LLM може отримати лише те, що ingestion крок зберіг, тому перше завдання RAG pipeline — перетворити файли Word, PDF, Excel та e‑book у чистий Markdown. За допомогою GroupDocs.Markdown.Mcp AI agent робить це локально, з Claude Desktop, Claude Code, Cursor або будь‑якого іншого MCP client, і файли ніколи не покидають ваш комп’ютер:
Перетворити кожен PDF у цьому каталозі у Markdown, зображення як файли, з front matter.
Покрокова версія з налаштуваннями та усуненням проблем знаходиться в документації: How to convert documents to Markdown for RAG with an AI agent.
Чому більшість RAG pipelines починаються з неправильного кроку конвертації?
Звичка — розглядати конвертацію як інфраструктуру: надсилати файли до будь‑якого найближчого parser, приймати будь‑який отриманий текст і витрачати зусилля на embeddings. Це змінює порядок важливості. Chunker розбиває за headings, таблиця, що надходить як потік значень клітинок, не відповідає ні на яке питання, а corpus, завантажений у сторонній parser, є розкриттям, яке ви не планували. Коли retrieval поганий, причина може бути у першому файлі, до якого торкнувся pipeline.
У цьому дописі пропонується три виправлення: тримати крок на вашій машині, навмисно вибирати параметри виводу та перевіряти результат замість того, щоб довіряти йому.
Чи є хмарний parser правильним місцем для ingestion документів?
Для внутрішнього corpus, зазвичай ні. Ingestion — це єдиний етап, який бачить кожен ваш документ: політики, прайс‑лісти, post‑mortems. Служба parsing, яка отримує їх усі, бачить весь архів, а не окремий файл.
GroupDocs.Markdown.Mcp використовує MCP stdio transport. Ваш AI client запускає server як дочірній процес, і шлях даних — agent, локальний server, локальна файлова система. Server не має вхідних портів, зовнішніх кінцевих точок і телеметрії. Тільки те, що agent записує у своїх відповідях, передається model provider. Metered licensing — єдиний випадок, який потребує вихідного трафіку: він повідомляє про використання, ніколи не про вміст документу, і файл ліцензії працює офлайн.
Start it with Docker:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-markdown/markdown-net-mcp:latest
або, за допомогою .NET 10 SDK, dnx GroupDocs.Markdown.Mcp --yes. Вкажіть GROUPDOCS_MCP_STORAGE_PATH на папку, що містить corpus.
Який сервер GroupDocs конвертує у Markdown: Markdown чи Conversion?
Обидва можуть створювати Markdown, і відповідають на різні питання.
| Що потрібно | Використати |
|---|---|
| Markdown, який зберігає структуру, з контролем над images, flavor, вибором сторінок та front matter | GroupDocs.Markdown.Mcp (this server) |
| Markdown як один із багатьох цілей, або DOCX до PDF до XLSX в одному workflow | GroupDocs.Conversion.Mcp, який охоплює понад 100 форматів в обох напрямках |
Якщо Markdown — це ціль і її якість важлива, оберіть спеціалізований engine. Якщо ви конвертуєте між багатьма форматами і Markdown — лише один з них, оберіть загальний converter; його шлях PDF охоплений у 3 ways to turn PDFs into LLM-ready Markdown (and why local wins).
Що робить Markdown найкращим форматом для RAG ingestion?
Headings зберігаються, tables залишаються tables, lists залишаються lists. Це одиниці, з якими працює chunker та embedder. Server конвертує DOCX, DOC, RTF, ODT, XLSX, XLS, ODS, CSV, TSV, EPUB, MOBI, TXT, CHM та ще 20+ форматів за допомогою одного інструменту, convert_to_markdown. Джерела Word‑family конвертуються найчистіше, бо їхня структура явно вказана у файлі. Таблиці електронних таблиць стають Markdown tables.
Три параметри важливі для індексу:
| Опція | Налаштування для ingestion | Причина |
|---|---|---|
images |
"file", or "skip" for prose only |
За замовчуванням base64 вставляє багатомегабайтний data URI у середину chunk |
frontMatter |
true |
YAML з title, author, format та page count стає метаданими chunk, тому відповідь може посилатися на title документа, а не на ім’я файлу |
flavor |
"github" (default) or "commonmark" |
Відповідає parser, який читає результат |
Приклад сесії (скорочено)
You: Before converting anything: what is the license status of the markdown server?
Agent: get_license_status -> mode: licensed, engine GroupDocs.Markdown 26.3, server 26.9.0.
You: Convert every PDF in this folder to Markdown, images as files, with front matter.
Agent: convert_to_markdown (images: "file", frontMatter: true) for each PDF.
Saved one .md per document, with extracted images alongside.
You: For each converted file, give me the source page count and the Markdown length.
Agent: get_document_info for each source, then the length of each saved .md.
One 300-page file produced only 4 KB of Markdown: likely a scan.
Як перевірити corpus перед індексацією?
Розглядайте запуск як ненадійний, доки ви його не переглянули. Один prompt виявляє більшість помилок:
Для кожного конвертованого файлу повідомте source page count та отриману довжину Markdown.
get_document_info повертає fileName, fileFormat, pageCount, title, author та isEncrypted без конвертації, тому agent може порівняти page count з тим, що він записав. 300‑сторінковий посібник, який став 4 KB Markdown, — це скан або скорочений запуск.
Скановані PDF — це жорстка межа. Вони не мають текстового шару, і цей server не має кроку OCR; обробляйте такі файли окремо.
Чесні обмеження: ліміт оцінки
Без ліцензії server працює в режимі evaluation, де обробляються лише перші 3 сторінки, з evaluation watermark на кожній. Вихід — валідний Markdown, і нічого не повідомляє про пропуск решти, тому індекс, побудований таким чином, виглядає повним, а насправді майже порожнім. Зробіть get_license_status першим викликом кожного ingestion запуску.
FAQ
Який найкращий формат для RAG ingestion?
Markdown — це сильний вибір, бо chunkers та embedders добре працюють з headings, lists та tables. Використовуйте images: "file" та frontMatter: true, щоб chunks не містили base64 і зберігали метадані джерела.
Чи можу я конвертувати Word у Markdown для LLM без завантаження документів?
Так. GroupDocs.Markdown.Mcp працює як локальний процес через stdio, і agent читає файли з папки, яку ви налаштували.
Чи перетворює він PDF у Markdown для векторної бази даних?
Він конвертує PDF, які мають текстовий шар, з headings, lists та tables, відновленими, якщо це дозволяє джерело. Скановані PDF не мають тексту для конвертації, і кроку OCR немає.
Поглибити
- Документація, канонічний how-to: How to convert documents to Markdown for RAG with an AI agent
- Центр документації: GroupDocs.Markdown MCP Server
- Далі: 3 ways to pull just the section you need into Markdown with MCP
- Далі: Automate a docs-as-code migration: the agent runs the conversion, you review
- Далі: From documents to a static site: Hugo, Docusaurus or MkDocs via an AI agent
- On‑premise та модель безпеки: 3 architectures for AI document processing, and the one that keeps files inside your network
- Питання: GroupDocs Markdown forum
- Джерело: GroupDocs.Markdown.Mcp on GitHub