Автоматический аудит договоров для участников Сколково: Поиск обязательных формулировок с помощью Vision LLM. Часть 1

В этой серии статей я разберу создание инструмента, который помогает резидентам "Сколково" автоматизировать проверку договорной базы на соответствие требованиям налогового кодекса и правилам использования интеллектуальной собственности.

Контекст задачи: Зачем это нужно?

Для компаний-участников проекта "Сколково" критически важно соблюдать определенные формулировки в договорах с контрагентами. Это не просто бюрократия, а условие сохранения налоговых льгот и защиты интеллектуальной собственности.

Обычно требуется проверить наличие двух ключевых блоков:

Освобождение от НДС: Ссылка на п. 1 ст. 145.1 НК РФ.

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

Когда у компании сотни или тысячи договоров (включая сканы, фото и документы разных лет), ручной аудит превращается в бесконечный процесс.

Проблема классического поиска (Ctrl+F и OCR)

Почему нельзя просто сделать поиск по тексту?

Разные формулировки: Юристы могут написать "НДС не облагается на основании..." или "Стоимость услуг без НДС в соответствии с...". Жесткий поиск по строке пропустит половину документов.

Качество сканов: Договоры часто хранятся в виде сканов низкого качества. Обычный OCR (оптическое распознавание символов) может превратить "ст. 145.1" в "ст. 145.l", и поиск сломается.

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

Решение: Локальная Vision Language Model (VLM) через LM Studio

Я решил пойти другим путем и использовать мультимодальную нейросеть (Vision LLM), которая "смотрит" на страницу договора как человек.

Вместо попыток извлечь текст, я показываю модели изображение страницы и задаю вопрос: "Видишь ли ты здесь пункт, где говорится, что исполнитель использует свое ПО, но права на него не передает?"

Преимущества подхода

Понимание смысла: Модель ищет не буквы, а суть. Фраза "Программа является инструментом исполнителя" для неё семантически равна "Используется собственное ПО без передачи прав".

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

Приватность и простота: Используется локальная модель (например, Qwen-VL), запущенная прямо на ПК через LM Studio. Конфиденциальные договоры не покидают контур компьютера, а настройка сервера занимает пару кликов.

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

Кому, как и мне, интересно автоматизировать юридические процессы, присоединяйтесь ко мне в телеграме, там я пишу "человеческим языком", а не вот это вот всё)

Начать дискуссию