TGViewer
Делай RAG Делай RAG @delay_rag · 1.4K subscribers
Post #28 391
Кто смотрел презентацию с моего первого спикерского инцидента, тот может помнить эту картинку — воронку, визуализирующую пайплайн моей работы над базой знаний. За прошедший месяц я собрала его в единый код в ноутбуке на JupyterLab, и он отработал уже раз 6, поэтому нельзя более тянуть, и пора открыть серию постов #делайRAG обо всей внутренней кухне этого процесса. И начать логично с самого верха воронки — скрапинга.

Скрапинг (кто-то говорит скрейпинг) — это автоматизированное извлечение информации с сайтов, то есть скрипт «читает» страницы сайтов, но примерно в стотыщ раз быстрее, чем это делает человек, попутно вытягивая их них всякие нужные данные. Это была первая вайбкодинговая задачка, которую я себе поставила и которую радостно очень быстро выполнила, и это задачка, которая может быть актуальна многим юристам, в том числе не собирающимся делать ни RAGов, ни тем более ботов. И я, знаете ли, могу даже дать некоторые, как мне кажется, полезные советы — они будут в конце.

Я попросила Claude описать функциональность скрапера как-то кратко, но максимально по сути, и он выдал «интеллектуальный веб-краулер с функцией инкрементального обновления данных». 😵 Имеется в виду, что скрапер умеет собирать дела за указанный пользователем временной период, причем как смотрит новые (отсутствующие в базе), так и отслеживает появление новых решений в уже известных делах.
Здесь нужно небольшое пояснение
ФАС структурирует базу данных (по крайней мере в части рекламных дел) так: создает карточку дела, которой присваивается UUID (здесь про это). Внутри карточки с делом размещаются документы по делу отдельными страничками (определение о возбуждении, решение, предписание и т.д). Соответственно, в разных моментах времени эта карточка может быть пустой или содержать разное количество документов. Меня для целей сборки RAGа интересуют только карточки с решениями. У каждой карточки с документов есть свой UUID (в моих файлах он идет как docID).

Скрапер делает поисковые запросы по 4 фильтрам, затем выкачивает тексты решений в txt и попутно ведет лог с записями всех caseID и относимых к ним docID. Это если кратко, более подробно расписанные этапы для особо любопытных прикладываю в pdf-аттаче, также там всякие скриншоты с анализом проблемных мест в базе ФАС.

Анализировать проблемные места сайтов, с которых вы хотите что-то скрапить — важно, если вам нужна достаточно полная база без мусора. Вот несколько бутылочных горлышек, с которыми пришлось поработать (причина у них по сути одна — неконсистентное ведение базы знаний, пополняют-то её люди):
🤩 выше говорила, что поиск ведется по 4 параметрам, а именно 1) Управление - Управление контроля рекламы и недобросовестной конкуренции, 2) Процедура - Реклама, 3) Сфера - Рынок рекламы, 4) Доп. критерии - реклама.
Подавляющее большинство проходит в параметре «процедура», но далеко не все: рекламный кейс может заваляться и по другим параметрам (например, здесь, в параметре процедура указано «КоАП», а я по нему не проверяю).
🤩 в подавляющем большинстве дел текст решения выкладывается на странице, и скрапер его собирает и создает на моем компьютере txt-файл. Но некоторые УФАСы выкладывают тексты решений в других форматах, которые подвешивают в карточку отдельным аттачментом, оставляя основной текст страницы пустым или заполненным какой-нибудь фразой.
Это остается проблемой, скрапинг таких аттачей я пока не делала. Но опытным путем было установлено, что если в Gemini на разметку послать написанный ерундовый текст, то она может из этого сочинить целое дело, поэтому этот нюанс учтен в пайплайне дальше - на отправку по API на разметку идут только тексты из файлов от 100 кб.
🤩 я докопала уже до 2018-го года и, кажется, ФАС начал более или менее консистентно вести базу, используя UUID с какого-то момента в 2018-м, потому что что-то там точно поменялось в названиях страничек с решениями.
Думаю пока, что с этим делать, много ли там вообще чего-то ценного для RAGа с учетом того, что законодательство за последние 7 лет достаточно сильно поменялось.

Ну и советы с обещанным аттачем ниже!
  • ❤ 6
  • 🔥 3
More from @delay_rag
  1. Sep 14, 2026Я хотела перестать сообщать о #RAG_expansion в боте и поисковике, но тут произошло закрыти…
  2. Sep 12, 2026В рамках активностей Лаборатории МГЮА по ИИ провела в четверг занятие по самому элементарн…
  3. Aug 28, 2026В прошедшую среду выступила на прекрасно организованном командами HeadHunter и Moscow Lega…
  4. Aug 21, 2026Важная информация для коллег, использующих поисковик по практике ФАС и коннектор! 🤩 Конне…
  5. Aug 10, 2026Если вы хоть раз пользовались ботом @lastminute_legal_bot, то сегодня вы получили 🎉праздн…
  6. Aug 5, 2026Для замечательного издания Шортрид написала колонку о вайб-кодинге. Это скорее обзорный ма…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →