LLM API и интеграция

Нейросеть для документов: счета, акты, договоры

Нейросеть для документов: счета, акты, договоры

Поток документов — счета, акты, накладные, договоры — это задача с самой быстрой окупаемостью из всех типовых: операция повторяется тысячи раз, результат проверяется автоматически, а ручная альтернатива стоит человеко-часов. При этом здесь же самая частая причина тихих ошибок: модель получает не документ, а текст, извлечённый из него вашим кодом, и качество этого шага определяет результат сильнее, чем выбор позиции в каталоге. Плюс есть граница, которую переходить не стоит: извлечь поля из договора можно, дать по нему юридическую оценку — нет. Разбираем схему целиком.

Что реально работает

Четыре операции с понятной экономикой.

Извлечение полей. Номер, дата, сумма, контрагент, позиции, реквизиты — в структуру, с которой дальше работает ваш код. Самый окупаемый сценарий из всех.

Сортировка входящего потока. Счёт, акт, договор, письмо, претензия. Короткий вход, ответ одним словом — как устроена классификация.

Сверка с ожидаемым. Совпадают ли реквизиты в акте с данными в вашей системе, соответствует ли сумма счёта заказу. Модель извлекает, сравнивает ваш код.

Выжимка для человека. Пять строк по длинному документу, чтобы решить, читать ли целиком — как получить хорошее саммари.

Общее: модель извлекает, решения принимают ваш код и человек. Как только появляется слово «оценить» вместо «извлечь», риск меняется качественно.

Извлечение решает больше, чем модель

Часть, которую пропускают и потом винят модель.

Модель работает с текстом. PDF описывает расположение символов на странице, а не структуру документа, поэтому наивное извлечение даёт перемешанные колонки, потерянные таблицы и колонтитулы посреди абзацев. Скан вообще не содержит текста — нужен отдельный шаг распознавания со своей точностью.

Практическое правило: посмотрите глазами на извлечённый текст, прежде чем менять модель. В половине случаев проблема видна сразу. Подробный разбор конвейера — в материале как обработать PDF через API.

Отдельно про таблицы — они и есть главный источник уверенно неверных ответов. При извлечении теряется связь числа со столбцом, и модель уверенно относит суммы не туда. Позиции счёта лучше извлекать инструментом, понимающим границы ячеек, а не общим проходом по странице.

Обязательные проверки

Четыре, и без них схему в прод пускать нельзя.

Каждое число из ответа встречается в исходном тексте. Простая программная сверка, ловит целый класс ошибок распознавания и выдумок.

Итоги сходятся. Сумма позиций равна итоговой сумме документа. Если не сходится — документ на ручную проверку, независимо от того, насколько убедительно выглядит ответ.

Реквизиты валидны формально. Длина и контрольные разряды номеров проверяются вашим кодом, а не моделью.

Даты существуют и попадают в разумный диапазон. «31 февраля» и год из прошлого века — типичные следы неверного распознавания.

И общее правило: арифметику не поручайте модели. Она извлекает значения, считает ваш код. Ошибка в вычислении выглядит так же уверенно, как правильный расчёт — почему так происходит.

Где проходит граница

Разделение по типу документа и по типу вопроса.

Можно автоматически: извлечение полей из типовых документов с обязательной сверкой итогов, сортировка потока, подготовка выжимок.

Только с проверкой человеком: всё, что влияет на платёж, и всё, что уходит контрагенту.

Нельзя отдавать модели как решение: юридическая оценка договора, вывод о правомерности, трактовка спорного условия. Модель может пропустить пункт или придумать несуществующий, и по стилю это неотличимо от верного анализа.

Полезная промежуточная роль для договоров: подсветить, а не оценить. Модель находит и выписывает сроки, штрафы, условия расторжения, автопролонгацию — юрист читает выписку и делает выводы. Экономия времени остаётся, ответственность не смещается.

Что не отправлять наружу

Документы компании — чувствительные данные, и это меняет требования.

Обезличивайте, где возможно. Для задачи «извлеки сумму и дату» настоящее название контрагента часто не нужно.

Отправляйте нужный фрагмент, а не документ целиком. Это одновременно приватность и деньги: платите вы за весь отправленный текст.

Заведите отдельный ключ на этот сценарий. Видимый расход и локализованная утечка — как их хранить.

Прочитайте, что хранит провайдер, до первого документа. У нас это llms.txt; у любого другого — его собственный документ, а не слова поддержки. Общий разбор темы — что уходит провайдеру.

И отдельная опасность, специфичная для документов: входящий документ — это чужой текст в вашем контексте. Инструкцию в нём можно спрятать так, что человек не заметит, а модель прочитает как команду — мы разбирали реальный случай в промпт-инъекции в судебном документе. Если разбор документов у вас связан с действиями, содержимое надо считать недоверенным вводом.

Сколько это стоит

Порядок величин.

Платите вы за отправленный текст. Счёт или акт на страницу — это несколько тысяч токенов, ответ структурой — несколько сотен. Тысяча таких документов при ставках за миллион токенов обходится в десятки рублей.

Договор на тридцать страниц — другая история: если отправлять его целиком, один документ стоит заметно больше. Отсюда практический приём: для длинных документов извлекайте нужные разделы, а не весь текст. Это и дешевле, и точнее.

Кириллица расходует больше токенов, чем латиница, — как считать и как перевести в рубли.

Для извлечения полей почти наверняка хватит недорогой позиции: задача не требует рассуждений. В каталоге на 4 сентября 2026 года платные текстовые модели начинаются от 1 ₽ за миллион, восемь позиций тарифицируются по нулевой ставке.

Как внедрять

Порядок, минимизирующий переделки.

  1. Начните с одного типа документа. Счета или акты — самые формализованные.
  2. Соберите пятьдесят реальных экземпляров. С разбросом: от аккуратных до кривых сканов.
  3. Проверьте извлечение текста глазами. До всякой модели.
  4. Опишите пять-семь полей. Не двадцать. Обязательно с вариантом «не найдено».
  5. Прогоните и сверьте с ручной разметкой. Считайте не общую точность, а долю документов, где сошлись все критичные поля.
  6. Поставьте человека на несошедшиеся. Не на все — только на те, где проверки не прошли.

Шестой пункт и есть то, ради чего всё делается: человек смотрит десять документов из ста вместо ста.

Что делать с нетиповыми документами

Отдельный разговор, потому что именно они съедают время, ради экономии которого всё затевалось.

В любом потоке есть хвост: документ от контрагента в своём формате, скан с печатью поверх текста, таблица, свёрстанная в две колонки. Соблазн — доработать промпт так, чтобы он покрывал и их. Обычно это ошибка.

Считайте долю хвоста. Если нетиповых пять процентов, дешевле отправлять их человеку, чем месяц дорабатывать схему.

Не расширяйте одну схему на все типы. Отдельный набор полей под счета и отдельный под акты работает лучше универсального, который «понимает всё».

Заведите явный отказ. Модель должна иметь возможность ответить «это не счёт» или «поля не найдены», а не подставлять правдоподобное. Принудительный выбор превращает незнание в уверенную ошибку.

Копите хвост отдельно. Через месяц из него станет видно, есть ли там повторяющийся тип, который стоит поддержать, — или это действительно единичные случаи.

Практический ориентир: автоматизация окупается на типовом потоке, а не на исключениях. Схема, обрабатывающая девяносто процентов документов и честно отдающая остальные человеку, полезнее той, что пытается справиться со всеми и тихо ошибается на сложных.

Чего мы не утверждаем

Не даём юридических советов. Требования к хранению и обработке документов зависят от вашей юрисдикции и регламента.

Не рекомендуем конкретные библиотеки извлечения. Качество зависит от типа документов; выбирать надо на своих файлах.

Не сравниваем модели по качеству. Своих замеров мы не делали.

Не обещаем распознавания сканов через каталог. Это отдельный шаг вне API модели.

Что нужно, чтобы начать

Ключ заводится за минуту на keydealer.ru/login — почта и пароль, без документов и без зарубежной карты. Оплата российской картой в рублях, один ключ на весь каталог.

Платные текстовые модели доступны сразу на приветственном бонусе: прогнать полсотни своих счетов и посмотреть, какие поля извлекаются, а какие путаются, можно без пополнения.

Что держать в голове

Качество извлечения текста из документа определяет результат сильнее, чем выбор модели. Посмотреть на извлечённый текст глазами — самая дешёвая диагностика из существующих.

И две обязательные проверки: каждое число из ответа встречается в оригинале, итоги сходятся. Документ, где итог не сошёлся, дальше не идёт, каким бы убедительным ни выглядел ответ.

Как мы проверяем факты и что храним из запросов — на странице о проекте и в llms.txt. Проверить на своих документах: keydealer.ru/login.

Частые вопросы

Что нейросеть может делать с документами компании?

Извлекать поля — номера, суммы, даты, стороны, позиции, — сортировать входящий поток по типам и готовить краткие выжимки. Юридическую оценку она не даёт.

Можно ли доверить ей проверку договора?

Как помощь человеку — да: подсветить сроки, штрафы, условия расторжения. Как замену юристу — нет: модель может уверенно пропустить или придумать пункт.

Как поймать ошибку в извлечённых числах?

Программной сверкой: каждое число из ответа должно встречаться в исходном тексте, а итоговые суммы — сходиться с расчётом по позициям.

Что делать со сканами?

Скан — это картинка, текста в нём нет. Нужен отдельный шаг распознавания, и его ошибки дальше пойдут в модель как факты.

Сколько стоит обработать тысячу документов?

Зависит от их длины. Короткие счета и акты — десятки рублей, многостраничные договоры дороже, потому что оплачивается весь отправленный текст.

Источники