An LLM может извлекать только то, что сохранил этап ingest, поэтому первая задача конвейера RAG — преобразовать файлы Word, PDF, Excel и электронных книг в чистый Markdown. С GroupDocs.Markdown.Mcp AI‑агент делает это локально, из Claude Desktop, Claude Code, Cursor или любого другого клиента MCP, и файлы никогда не покидают ваш компьютер:
Преобразовать каждый PDF в этой папке в Markdown, изображения как файлы, с front matter.
Пошаговая версия с настройками и устранением неполадок находится в документации: Как конвертировать документы в Markdown для RAG с помощью AI‑агента.
Почему большинство конвейеров RAG начинают с неправильного шага конвертации?
Обычная привычка — рассматривать конвертацию как простую трубу: отправлять файлы в любой ближайший парсер, принимать любой полученный текст и тратить усилия на эмбеддинги. Это меняет порядок важности. Чанкер делит по заголовкам, таблица, пришедшая в виде потока значений ячеек, не отвечает ни на один вопрос, а корпус, загруженный в сторонний парсер, раскрывает информацию, о которой вы не планировали. Когда поиск работает плохо, причина может быть в первом файле, к которому обратился конвейер.
В этой статье предлагаются три исправления: выполнять шаг на своей машине, осознанно выбирать параметры вывода и проверять результат вместо того, чтобы доверять ему.
Является ли облачный парсер правильным местом для ingest (ввода) документов?
Для внутреннего корпуса, обычно нет. Ingest (ввод) — единственная стадия, которая видит каждый ваш документ: политики, прайс‑листы, постмортемы. Сервис парсинга, получающий их все, видит весь архив, а не отдельный файл.
GroupDocs.Markdown.Mcp использует транспорт MCP stdio. Ваш AI‑клиент запускает сервер как дочерний процесс, и путь данных проходит через агент, локальный сервер, локальную файловую систему. У сервера нет входящих портов, внешних конечных точек и телеметрии. Только то, что агент пишет в своих ответах, передаётся поставщику модели. Платная лицензия с учётом использования — единственный случай, требующий исходящего трафика: она сообщает о потреблении, но никогда не передаёт содержимое документов, а файл лицензии работает офлайн.
Запустите его с помощью 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 на папку, содержащую корпус.
Какой сервер GroupDocs конвертирует в Markdown: Markdown или Conversion?
Оба могут генерировать Markdown, но отвечают на разные вопросы.
| Вам нужно | Используйте |
|---|---|
| Markdown, сохраняющий структуру, с контролем над изображениями, flavor, выбором страниц и front matter | GroupDocs.Markdown.Mcp (this server) |
| Markdown как один из множества целей, или DOCX → PDF → XLSX в одном рабочем процессе | GroupDocs.Conversion.Mcp, который поддерживает более 100 форматов в обоих направлениях |
Если Markdown является конечным форматом и его качество имеет значение, выбирайте специализированный движок. Если вы конвертируете между множеством форматов, а Markdown — лишь один из них, выбирайте общий конвертер; его путь для PDF описан в 3 способа превратить PDF в Markdown, готовый для LLM (и почему локальный вариант выигрывает).
Что делает Markdown лучшим форматом для ingest (ввода) в RAG?
Заголовки сохраняются, таблицы остаются таблицами, списки остаются списками. Это единицы, с которыми работают чанкер и эмбеддер. Сервер конвертирует DOCX, DOC, RTF, ODT, XLSX, XLS, ODS, CSV, TSV, EPUB, MOBI, TXT, CHM и более 20 форматов с помощью одного инструмента, convert_to_markdown. Источники семейства Word конвертируются наиболее чисто, потому что их структура явно указана в файле. Листы электронных таблиц превращаются в таблицы Markdown.
Три параметра важны для индекса:
| Параметр | Настройка для ingest | Причина |
|---|---|---|
images |
"file", или "skip" только для прозы |
По умолчанию base64 помещает многомегабайтный data URI в середину чанка |
frontMatter |
true |
YAML с заголовком, автором, форматом и количеством страниц становится метаданными чанка, поэтому ответ может ссылаться на название документа, а не на имя файла |
flavor |
"github" (по умолчанию) или "commonmark" |
Соответствует парсеру, который читает результат |
Пример сеанса (сокращённый)
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.
Как проверить корпус перед индексацией?
Считайте запуск недоверенным, пока не проверите его. Один запрос выявляет большинство ошибок:
Для каждого конвертированного файла укажите количество исходных страниц и полученную длину Markdown.
get_document_info возвращает fileName, fileFormat, pageCount, title, author и isEncrypted без конвертации, поэтому агент может сравнить количество страниц с тем, что он записал. Руководство из 300 страниц, превратившееся в 4 КБ Markdown, — это скан или усечённый запуск.
Сканированные PDF — жёсткое ограничение. У них нет текстового слоя, а у этого сервера нет шага OCR; обрабатывайте такие файлы отдельно.
Честные ограничения: лимит оценки
Без лицензии сервер работает в режиме оценки, где обрабатываются только первые 3 страницы, каждая с водяным знаком оценки. Вывод — корректный Markdown, и ничего не сообщает, что остальное было пропущено, поэтому индекс, построенный таким образом, выглядит полным, но почти пустым. Делайте get_license_status первым вызовом в каждом запуске ingest.
Часто задаваемые вопросы
Какой формат лучше всего подходит для ingest в RAG?
Markdown — хороший выбор, потому что чанкеры и эмбеддеры хорошо работают с заголовками, списками и таблицами. Используйте images: "file" и frontMatter: true, чтобы чанки не содержали base64 и сохраняли метаданные источника.
Могу ли я конвертировать Word в Markdown для LLM без загрузки документов?
Да. GroupDocs.Markdown.Mcp работает как локальный процесс через stdio, и агент читает файлы из указанной вами папки.
Преобразует ли он PDF в Markdown для векторной базы данных?
Он конвертирует PDF, имеющие текстовый слой, восстанавливая заголовки, списки и таблицы, где это возможно. Сканированные PDF не имеют текста для конвертации, и шаг OCR отсутствует.
Углубиться
- Документация, канонический гайд: Как конвертировать документы в Markdown для RAG с помощью AI‑агента
- Центр документации: GroupDocs.Markdown MCP Server
- 3 способа извлечь только нужный раздел в Markdown с помощью MCP
- Автоматизировать миграцию docs-as-code: агент выполняет конвертацию, вы проверяете
- От документов к статическому сайту: Hugo, Docusaurus или MkDocs через AI‑агента
- На месте и модель безопасности: 3 архитектуры AI‑обработки документов, и та, что держит файлы внутри вашей сети
- Вопросы: GroupDocs Markdown forum
- Исходный код: GroupDocs.Markdown.Mcp на GitHub