Он теперь совсем взрослый самостоятельный, или как я запустил автообновление базы судебной практики IP Agent
До этого процесс был такой: искал дела, открывал сайты, скачивал документы, делал паспорта дел (вытаскивал суть), индексировал в базу. Теперь это делает бот сам, обновляет базу каждую ночь в 03:00.
Изначально ориентировался на Hermes Agent от Nous Research (опенсорс-оркестратор для LLM-агентов). Идея понравилась следующим: работа по расписанию, память между запусками, управление через Telegram, отчёты после выполнения задач - выглядело многообещающе.
Но в ходе изучения его возможностей понял, что для автообновления можно пойти гораздо более простым путём. Достаточно продумать последовательность действий и написать скрипт. В итоге сам Hermes пока отправился в список идей на будущее, а скрипт поселился прямо на сервере бота.
Первый тест (25.05):
Найдено 25 дел → отфильтровано 24 → 1 прошло полный цикл и попало в базу.
В планах добавить отслеживание судьбы дела - есть ли апелляция, кассация, отменяли ли решение и т.д.
Ещё ограничил парсинг до 5 дел за сессию: ресурсов на сервере немного, а индексация идёт локальной моделью эмбеддингов. Снимать ограничение пока не спешу.
Подобный парсинг - штука хрупкая. Поменяется структура страниц или усилят антибота - буду искать другой путь. Такая автоматизация почти всегда живёт по этим правилам.
Итог недели: база выросла почти в полтора раза - до 3489 дел, у бота появился второй режим работы, а теперь он ещё и сам пополняет базу по ночам.
Интересно мнение коллег - как относитесь к такому парсингу?
Акты открытые, доступ свободный, проект некоммерческий, но автоматизированный сбор не везде приветствуется.
До этого процесс был такой: искал дела, открывал сайты, скачивал документы, делал паспорта дел (вытаскивал суть), индексировал в базу. Теперь это делает бот сам, обновляет базу каждую ночь в 03:00.
Изначально ориентировался на Hermes Agent от Nous Research (опенсорс-оркестратор для LLM-агентов). Идея понравилась следующим: работа по расписанию, память между запусками, управление через Telegram, отчёты после выполнения задач - выглядело многообещающе.
Но в ходе изучения его возможностей понял, что для автообновления можно пойти гораздо более простым путём. Достаточно продумать последовательность действий и написать скрипт. В итоге сам Hermes пока отправился в список идей на будущее, а скрипт поселился прямо на сервере бота.
Сейчас скрипт работает примерно так:
〰 заходит в картотеку арбитражных судов (ras.arbitr) и ищет свежие IP-решения за последнюю неделю;
〰 отсекает всякий «шум» вроде мировых соглашений, возвратов и прекращений;
〰 скачивает PDF;
〰 отправляет решение в Gemini и получает обратно структурированный паспорт дела: стороны, объект ИС, статьи ГК, позиции сторон, логику суда, итог и размер компенсации;
〰 находит дело в КАД и сохраняет ссылку;
〰 индексирует всё это в ChromaDB, после чего дело становится доступно для поиска через бота.
Первый тест (25.05):
Найдено 25 дел → отфильтровано 24 → 1 прошло полный цикл и попало в базу.
В планах добавить отслеживание судьбы дела - есть ли апелляция, кассация, отменяли ли решение и т.д.
Ещё ограничил парсинг до 5 дел за сессию: ресурсов на сервере немного, а индексация идёт локальной моделью эмбеддингов. Снимать ограничение пока не спешу.
Подобный парсинг - штука хрупкая. Поменяется структура страниц или усилят антибота - буду искать другой путь. Такая автоматизация почти всегда живёт по этим правилам.
Кроме этого, за неделю ещё кое-что сделал:
〰+1089 решений СОЮ (для них паспорта генерировались отдельным пайплайном на gpt-oss-120b - по моим тестам он здесь оказался сильнее чем Gemini 2.5 про, но на объемных делах требует перепроверки);
〰 появился второй режим работы «Поиск практики» (БЕТА);
〰 добавил ссылки на КАД прямо в ответы бота;
Итог недели: база выросла почти в полтора раза - до 3489 дел, у бота появился второй режим работы, а теперь он ещё и сам пополняет базу по ночам.
Интересно мнение коллег - как относитесь к такому парсингу?
Акты открытые, доступ свободный, проект некоммерческий, но автоматизированный сбор не везде приветствуется.