Автоматический аудит договоров для участников Сколково: Поиск обязательных формулировок с помощью 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 в набор изображений, как правильно составить запрос к модели (промпт) и как собрать результаты в удобный отчет.
Кому, как и мне, интересно автоматизировать юридические процессы, присоединяйтесь ко мне в телеграме, там я пишу "человеческим языком", а не вот это вот всё)