
Договоры, счета, акты и заявки часто приходится разбирать вручную. Сотрудник определяет тип документа, переносит реквизиты в систему и проверяет обязательные поля. RPA автоматизирует такую работу по правилам, а языковые модели лучше справляются с разными формулировками и шаблонами.
Сначала нужен текст
Обычный PDF можно разобрать библиотеками pdfplumber, PyMuPDF или pdfminer. Для скана понадобится OCR, например Tesseract, Google Vision или Azure OCR.
Качество распознавания нужно проверить до обращения к LLM. Если OCR перепутал цифру в сумме или реквизитах, модель не восстановит исходный документ надёжно.
Извлечение полей
Модели передают текст и явно указывают схему ответа.
Проанализируй текст документа и верни JSON со следующими полями:
- тип документа
- номер
- дата
- контрагент
- сумма
- назначение платежа
Если значения нет в тексте, верни null.
{
"document_type": "Счёт на оплату",
"document_number": "СЧ-4531",
"date": "2025-04-22",
"partner": "ООО Ромашка",
"amount": "154 000 ₽",
"description": "Поставка расходных материалов"
}
Структурированный ответ можно проверить валидатором и сохранить в CRM, ERP, 1С или базу данных.
Классификация и шаблоны
Модель также может выбрать тип документа из закрытого списка. После классификации система запускает подходящий маршрут согласования или заполняет шаблон Word через python-docx и Jinja2.
Для критичных документов нужен человек в цикле. Его стоит подключать, если обязательное поле не найдено, сумма не сходится или уверенность OCR ниже заданного порога.
Что учесть при внедрении
- Определите, где будут храниться файлы и журналы запросов. Подробнее об этом читайте в статье о безопасности LLM.
- Проверяйте суммы, даты и реквизиты отдельными правилами.
- Храните исходный фрагмент рядом с извлечённым значением.
- Измеряйте точность на реальных документах компании, включая редкие форматы.
LLM сокращает число отдельных парсеров, но не устраняет ошибки. Хорошая система сочетает OCR, схему данных, проверки и понятный маршрут ручного подтверждения.

