Коллеги, собрал RAG-бота в сфере IP и авторского права.
Нужен ваш "краш-тест" и фидбек.
Что он делает:
Считает "вилку" компенсации за нарушение прав на РИД и подсказывает методику расчета.
На чем работает:
В базе сейчас 850+ актов СИП (свежая практика 2024–2026 гг.) + актуальная 4 часть ГК РФ.
Зачем это нужно:
Чтобы быстро оценить перспективу: стоит ли идти в суд, какую сумму реально взыскать и на какую практику ссылаться. Если вы со стороны ответчика — помогает понять, адекватны ли требования истца или их можно снизить.
Буду благодарен, если погоняете его по своим кейсам. Это пока бета-версия, так что конструктивная критика приветствуется!
🤖 Потестировать бота: @GetINNinfo_bot
Нужен ваш "краш-тест" и фидбек.
Что он делает:
Считает "вилку" компенсации за нарушение прав на РИД и подсказывает методику расчета.
На чем работает:
В базе сейчас 850+ актов СИП (свежая практика 2024–2026 гг.) + актуальная 4 часть ГК РФ.
Зачем это нужно:
Чтобы быстро оценить перспективу: стоит ли идти в суд, какую сумму реально взыскать и на какую практику ссылаться. Если вы со стороны ответчика — помогает понять, адекватны ли требования истца или их можно снизить.
Буду благодарен, если погоняете его по своим кейсам. Это пока бета-версия, так что конструктивная критика приветствуется!
🤖 Потестировать бота: @GetINNinfo_bot
🔥8👍4🤝1
Борщ, пентест и план апгрейда: итоги первых тестов чат-бота, который может за минуту оценить компенсацию за нарушение интеллектуальных прав
Спасибо всем, кто принял участие в краш-тесте бота по интеллектуальной собственности.
Отдельная благодарность Павлу Мищенко за его репост — это дало хороший приток пользователей и помогло выявить больше скрытых багов.
Из забавного: в процессе пентестов одному из пользователей удалось обойти системный промпт и заставить бота выдать пошаговый рецепт борща. Посмеялись, баг отметил.
Но главное — есть крутые результаты на реальной практике. Один из пользователей загрузил тексты трех прошедших судебных споров и бот выдал ровно ту вилку компенсации, которую им в итоге взыскал суд. Ради подобных кейсов бот и разрабатывался.
Что планирую исправить и добавить по итогам тестов:
Впечатление от всего этого: поймал себя на мысли, что сам процесс разработки затягивает. А когда получаешь живой фидбек и видишь, как твой инструмент способен решать (не без багов) реальные задачи — это максимальный кайф. Осторожно, вайбкодинг вызывает зависимость!😄
Ссылка на бота: https://t.me/GetINNinfo_bot
Спасибо всем, кто принял участие в краш-тесте бота по интеллектуальной собственности.
Отдельная благодарность Павлу Мищенко за его репост — это дало хороший приток пользователей и помогло выявить больше скрытых багов.
Из забавного: в процессе пентестов одному из пользователей удалось обойти системный промпт и заставить бота выдать пошаговый рецепт борща. Посмеялись, баг отметил.
Но главное — есть крутые результаты на реальной практике. Один из пользователей загрузил тексты трех прошедших судебных споров и бот выдал ровно ту вилку компенсации, которую им в итоге взыскал суд. Ради подобных кейсов бот и разрабатывался.
Что планирую исправить и добавить по итогам тестов:
➡️ Защита от промпт-инъекций. Частично уже прикрыл лазейки от любителей кулинарии и других нестандартных запросов.➡️ Ориентация во времени. Добавлю передачу текущей даты, чтобы бот корректно работал со сроками.➡️ Чистка базы и настройка чанков. Уберу лишний информационный «шум» из документов, на которых работает модель, а также изменю размеры чанков и их перекрытие. Это касается только ГК РФ: с поиском судебной практики проблем не возникало, так как для нее применялся другой скрипт обработки.➡️ Понимание контекста. Настрою память на продолжение диалога. Чтобы сбросить контекст и задать новый вопрос, нужно будет нажать кнопку «Завершить» или просто исчерпать лимит в 3 уточняющих сообщения.➡️ Для 4 части ГК РФ "установить" гибридную логику поиска (будет искать как по смыслу, так и по совпадению слов). Это необходимо для исключения семантической путаницы между похожими нормами ГК РФ и предотвращения галлюцинаций на несуществующих статьях.➡️ Ограничение запросов. Временно устанавливаю лимит в 10 обращений в сутки от пользователя. Лимиты нужны исключительно для контроля нагрузки. По мере тестов и анализа его работы буду их увеличивать или оставлю такими же.➡️ Перенос на сервер. В «мыслях» разместить бота на сервере, чтобы он работал стабильно и был доступен 24/7.
Впечатление от всего этого: поймал себя на мысли, что сам процесс разработки затягивает. А когда получаешь живой фидбек и видишь, как твой инструмент способен решать (не без багов) реальные задачи — это максимальный кайф. Осторожно, вайбкодинг вызывает зависимость!😄
Ссылка на бота: https://t.me/GetINNinfo_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4
Недавно наткнулся на карту российских LegalTech-проектов. Это ресурс, где собирают отечественные решения — позволяет мониторить, что вообще сейчас есть на рынке.
Решил подать заявку со своим ботом (AI-ассистент для оценки компенсации за использование РИД). Заполнил небольшую форму, прошел модерацию, и теперь проект официально появился на карте.
За поддержку и развитие этого ресурса отдельное спасибо Holger Zscheyge.
Перенес его на удаленный сервер. Тестировать архитектуру на домашнем ноутбуке было круто, но держать его постоянно включенным 24/7 — та еще боль. Теперь бот работает автономно.
В ближайшем посте расскажу про этот опыт: как выбирал сервер для проекта, на какие параметры смотрел в первую очередь и сколько времени занял переезд.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤3👍3
Как я оставил бота без «мозгов» и эпично стер базу
В предыдущем посте я писал, что перенёс бота на удалённый сервер. Звучало гладко. На деле всё оказалось не совсем так.
Что произошло
Код нормально подгрузился с GitHub, бот запустился и начал отвечать пользователям. Проблема была в одном - я забыл загрузить векторную базу.
Бот работал «по старой памяти» (точнее, уверенно галлюцинировал), не имея доступа ни к одному из 858 загруженных судебных дел. При этом ответы выглядели крайне правдоподобно😄
Поняв это, я начал искать способ закинуть базу на сервер. Посоветовался с Trae AI. Он уверенно выдал план: делаем репозиторий приватным и льем всё через Git LFS (для больших файлов).
Итог: GitHub выдал ошибку — лимит по размеру на бесплатном тарифе превышен, база не влезла. Каково же было мое разочарование, когда я заглянул в локальную папку с базой и обнаружил, что Git подменил реальные файлы на короткие текстовые пустышки (LFS-указатели).
Как я разбирался
Подключил Claude Code. Он помог восстановить цепочку событий, но итог был один: файлы восстановлению не подлежат.
Так как пришлось заново индексировать 858 дел и ГК РФ, я решил перепроверить архитектуру поиска. Тут клод выдал второе разочарование дня: родительские чанки в моей системе не работали вовсе. Код был написан, файлы лежали в папке, но в пайплайне они не использовались. Иерархической системой, о которой я писал ранее, там и не пахло.
Что в итоге переделал
➡️ Подключил разбиение на родительские и дочерние чанки. Теперь поиск идет по коротким фрагментам, а модель получает полный контекст дела с логикой суда.
➡️ Добавил reranker (кросс-энкодер) — модель-судью, которая переоценивает релевантность после первичного поиска.
➡️ Увеличил перекрытие между чанками, чтобы смысл не терялся на стыках.
➡️ Заменил запись логов в json-файл на SQLite для сбора статистики.
➡️ Настроил rsync для синхронизации тяжелых данных между ноутом и сервером.
➡️ Доработал промпт под новую редакцию ГК РФ (ФЗ-214 от 04.01.2026).
Уроки, которые стоили мне половины дня:
➡️ GitHub — не файлообменник. Векторная база, ключи, веса моделей и бэкапы должны быть в gitignore. Для переноса данных есть rsync, FileZilla или scp.
➡️ Git LFS на бесплатном тарифе — мина замедленного действия. Обрыв загрузки может превратить ваши файлы в тыкву.
➡️ Не доверяй каждому совету ИИ (даже если очень хочется быстро решить проблему).
➡️ Возможно, стоило использовать API-эмбеддинги вместо локальной модели — с ними индексация проходит куда быстрее. Но мы не ищем легких путей.
🤖 Бот снова в строю. Протестировать тут: @GetINNinfo_bot
В предыдущем посте я писал, что перенёс бота на удалённый сервер. Звучало гладко. На деле всё оказалось не совсем так.
Что произошло
Код нормально подгрузился с GitHub, бот запустился и начал отвечать пользователям. Проблема была в одном - я забыл загрузить векторную базу.
Бот работал «по старой памяти» (точнее, уверенно галлюцинировал), не имея доступа ни к одному из 858 загруженных судебных дел. При этом ответы выглядели крайне правдоподобно😄
Поняв это, я начал искать способ закинуть базу на сервер. Посоветовался с Trae AI. Он уверенно выдал план: делаем репозиторий приватным и льем всё через Git LFS (для больших файлов).
Итог: GitHub выдал ошибку — лимит по размеру на бесплатном тарифе превышен, база не влезла. Каково же было мое разочарование, когда я заглянул в локальную папку с базой и обнаружил, что Git подменил реальные файлы на короткие текстовые пустышки (LFS-указатели).
Как я разбирался
Подключил Claude Code. Он помог восстановить цепочку событий, но итог был один: файлы восстановлению не подлежат.
Так как пришлось заново индексировать 858 дел и ГК РФ, я решил перепроверить архитектуру поиска. Тут клод выдал второе разочарование дня: родительские чанки в моей системе не работали вовсе. Код был написан, файлы лежали в папке, но в пайплайне они не использовались. Иерархической системой, о которой я писал ранее, там и не пахло.
Что в итоге переделал
Уроки, которые стоили мне половины дня:
🤖 Бот снова в строю. Протестировать тут: @GetINNinfo_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4👏1😱1
Какая LLM лучше для юридического RAG-бота?
Провёл серию тестов — прогнал 10 разных моделей через бот с RAG-системой на одних и тех же вопросах.
Когда запускал бота, я не особо думал о выборе модели — просто взял Gemini 3.0 Flash Preview по советам из чата. Модель быстрая, дешёвая, меня в целом устраивает. Но со временем возник вопрос — а так ли она хороша конкретно в моём проекте? И насколько велика разница между бюджетными моделями и «люксом» вроде Claude Sonnet 4.6, GPT-5.4, Gemini 3.1 Pro?
Условия теста
Все 10 моделей тестировались на одном RAG-пайплайне: одна база (858 дел СИП + 4 часть ГК), один промпт, один реранкер, одни настройки. Менялась только LLM. Каждой модели задавался одинаковый вопрос + 2 уточнения. Два разных теста — по авторскому праву и по товарному знаку.
Каждую модель оценивал по 8 метрикам в формате «выполнил / частично / не выполнил»:
🔵 RAG-дисциплина — наличие галлюцинаций (не выдумывала ли модель номера дел и статьи?)
🔵 Точность вилки — обоснованность размера вилки (привязана ли к делам, рекомендован ли выгодный способ расчёта?)
🔵 Глубина квалификации — увидела ли скрытые нюансы (переработку, множественность, снижения по датам)
🔵 Практическая полезность — пошаговый план, рекомендации «доступным языком», конкретные инструменты доказывания
🔵 Арифметика — математически верный расчёт
🔵 Уточняющие вопросы — наличие обязательных триггеров (ст. 1295, реальность платежей, дата нарушения)
🔵 Формат промпта — структура ответа по инструкции, отсутствие markdown (#, **, ---)
🔵 Поддержка диалога — сохранение контекста при уточнениях
Результаты в прикреплённой таблице.
Хочется отметить следующие модели:
Claude Sonnet 4.6 — 1 место. Единственная модель, которая увидела три основания при переработке фото: воспроизведение (ст. 1301), неприкосновенность (ст. 1266) и удаление информации об авторе (ст. 1300). Вилка: 100–250 тыс. с привязкой к делам. Ни одной галлюцинации, идеальный формат.
Gemini 3.1 Pro — 2 место. Полный комплект по всем метрикам. Увидела два основания + отдельную компенсацию по ст. 1300. Заметила, что переход на твёрдую сумму выгоден истцу. На 20% дешевле Claude.
GPT-5.4 — 3 место. Единственная модель, спросившая про ст. 1295 (служебное произведение). Самая детальная стратегия. Минус — превышен объём ответа (промпт ограничивает размер).
Gemini 3.0 Flash — 4 место. Вилка адекватная, формат идеальный, ни одной галлюцинации. Но не объяснила почему лицензия невыгодна и не выделила переработку как отдельное нарушение.
Qwen3 Max — 8 место. Тактически грамотный совет (два варианта расчёта в иске), вилка адекватная. Но обнаружены галлюцинации: ссылка на ст. 1320 как на обязательный претензионный порядок (статья существует, но к претензиям не относится) и ссылка на дело А32-69603/2024 с суммой 930 000 руб., которого нет в базе. Для RAG-бота это критично.
DeepSeek R1 — 9 место. В тесте 2 выдала «максимум 20 916 000 руб.» — фантастический расчёт. Сослалась на дело А41-134957/2024, которого нет в базе. Систематически ломает формат. При цене 132₽/528₽ — дороже бюджетных, а результат хуже.
o3 Mini High — 10 место. Написала, что обрезка фотографий «не влияет на методику расчёта» — грубая ошибка. Вилка 20–40 тыс. — самая низкая. Перепутала сумму дела А40-44109/2025 (написала 29 754 вместо 54 931 руб.).
Модели на 5–7 местах — без галлюцинаций и с хорошим следованием промпту, но слабее по содержанию: вилки занижены, переработку не квалифицируют как отдельное нарушение, планы действий общие.
Стоимость моделей указана в таблице (цены с polza.ai, за 1M токенов).
Выводы
Для подобного проекта (бесплатный, MVP) Gemini 3.0 Flash является хорошей моделью — адекватная вилка, идеальное следование промпту, ни одной галлюцинации при минимальной цене.
Если нет ограничений по финансам — Claude Sonnet 4.6 и Gemini 3.1 Pro вне конкуренции. Gemini 3.1 Pro на 20% дешевле Claude при очень близком результате.
Кому интересно — подробные ответы каждой модели, метрики с пояснениями и полный разбор в прикреплённом файле ниже.
Провёл серию тестов — прогнал 10 разных моделей через бот с RAG-системой на одних и тех же вопросах.
Когда запускал бота, я не особо думал о выборе модели — просто взял Gemini 3.0 Flash Preview по советам из чата. Модель быстрая, дешёвая, меня в целом устраивает. Но со временем возник вопрос — а так ли она хороша конкретно в моём проекте? И насколько велика разница между бюджетными моделями и «люксом» вроде Claude Sonnet 4.6, GPT-5.4, Gemini 3.1 Pro?
Условия теста
Все 10 моделей тестировались на одном RAG-пайплайне: одна база (858 дел СИП + 4 часть ГК), один промпт, один реранкер, одни настройки. Менялась только LLM. Каждой модели задавался одинаковый вопрос + 2 уточнения. Два разных теста — по авторскому праву и по товарному знаку.
Каждую модель оценивал по 8 метрикам в формате «выполнил / частично / не выполнил»:
Результаты в прикреплённой таблице.
Хочется отметить следующие модели:
Claude Sonnet 4.6 — 1 место. Единственная модель, которая увидела три основания при переработке фото: воспроизведение (ст. 1301), неприкосновенность (ст. 1266) и удаление информации об авторе (ст. 1300). Вилка: 100–250 тыс. с привязкой к делам. Ни одной галлюцинации, идеальный формат.
Gemini 3.1 Pro — 2 место. Полный комплект по всем метрикам. Увидела два основания + отдельную компенсацию по ст. 1300. Заметила, что переход на твёрдую сумму выгоден истцу. На 20% дешевле Claude.
GPT-5.4 — 3 место. Единственная модель, спросившая про ст. 1295 (служебное произведение). Самая детальная стратегия. Минус — превышен объём ответа (промпт ограничивает размер).
Gemini 3.0 Flash — 4 место. Вилка адекватная, формат идеальный, ни одной галлюцинации. Но не объяснила почему лицензия невыгодна и не выделила переработку как отдельное нарушение.
Qwen3 Max — 8 место. Тактически грамотный совет (два варианта расчёта в иске), вилка адекватная. Но обнаружены галлюцинации: ссылка на ст. 1320 как на обязательный претензионный порядок (статья существует, но к претензиям не относится) и ссылка на дело А32-69603/2024 с суммой 930 000 руб., которого нет в базе. Для RAG-бота это критично.
DeepSeek R1 — 9 место. В тесте 2 выдала «максимум 20 916 000 руб.» — фантастический расчёт. Сослалась на дело А41-134957/2024, которого нет в базе. Систематически ломает формат. При цене 132₽/528₽ — дороже бюджетных, а результат хуже.
o3 Mini High — 10 место. Написала, что обрезка фотографий «не влияет на методику расчёта» — грубая ошибка. Вилка 20–40 тыс. — самая низкая. Перепутала сумму дела А40-44109/2025 (написала 29 754 вместо 54 931 руб.).
Модели на 5–7 местах — без галлюцинаций и с хорошим следованием промпту, но слабее по содержанию: вилки занижены, переработку не квалифицируют как отдельное нарушение, планы действий общие.
Стоимость моделей указана в таблице (цены с polza.ai, за 1M токенов).
Выводы
Для подобного проекта (бесплатный, MVP) Gemini 3.0 Flash является хорошей моделью — адекватная вилка, идеальное следование промпту, ни одной галлюцинации при минимальной цене.
Если нет ограничений по финансам — Claude Sonnet 4.6 и Gemini 3.1 Pro вне конкуренции. Gemini 3.1 Pro на 20% дешевле Claude при очень близком результате.
Кому интересно — подробные ответы каждой модели, метрики с пояснениями и полный разбор в прикреплённом файле ниже.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2❤1
От бота к агенту
Честно, до недавнего времени я был уверен, что «ИИ-агент» — просто бот, которого переименовали, коммерческий ход, не более. Однако разница существенная — агент способен оценивать промежуточный результат и на основе этой оценки менять свой дальнейший ход.
Добавил своему юридическому боту (в сфере IP) способность принимать решения на промежуточных этапах. Для этого внёс три изменения в архитектуру:
✔️ Анализ вопроса перед поиском (Intake-агент)
Перед поиском отдельная LLM переводит бытовой язык пользователя в юридические термины, извлекает факты из сообщения и решает — начать поиск или задать дополнительный вопрос.
✔️ Порог релевантности (score threshold)
Бот научился отсеивать мусорные фрагменты (чанки) до того, как они будут переданы из векторного хранилища в нейросеть. Раньше передавал всё подряд — теперь фильтрует и меняет поведение, если качественного контекста мало.
✔️ Цикл поиска (retrieval loop)
Если первый поиск в базе дал мало результатов, бот сам формирует второй запрос, но с другими ключевыми словами и ищет ещё раз.
Тест изменений (на скриншотах)— один вопрос, два пайплайна:
➡️ Старый — линейный rag (скрин 1): одно основание → 45–90 тыс. руб.
➡️ Новый — agentic rag (скрин 2): агент определил переработку, применил два основания (ст. 1301 п.1 + п.2) → 66–180 тыс. руб.
Стал ли ответ точнее? Однозначно. Но я бы не спешил приписывать этот успех «магии» Agentic RAG. Часть улучшений — это результат донастройки фильтров и промптов.
Тем не менее, в архитектуре появилась та самая «агентная сущность» — система перестала следовать одному алгоритму и начала принимать решения на промежуточных этапах. Однако здесь важно понимать, агентность — это не всегда плюс. Чем больше в системе «самостоятельных» узлов, тем выше вероятность того, что агент примет неверное решение на промежуточном шаге и уверенно уведёт ответ в сторону. Автономность требует кратно большего внимания к настройке. Есть кейсы, где Agentic RAG будет чрезмерен или даже вреден, а классического линейного пайплайна хватит с головой, поэтому нужно выбирать инструмент под конкретные цели и задачи.
Кстати, кто хочет копнуть глубже — у Екатерины есть классный материал по agentic-RAG, рекомендую.
Честно, до недавнего времени я был уверен, что «ИИ-агент» — просто бот, которого переименовали, коммерческий ход, не более. Однако разница существенная — агент способен оценивать промежуточный результат и на основе этой оценки менять свой дальнейший ход.
Добавил своему юридическому боту (в сфере IP) способность принимать решения на промежуточных этапах. Для этого внёс три изменения в архитектуру:
Перед поиском отдельная LLM переводит бытовой язык пользователя в юридические термины, извлекает факты из сообщения и решает — начать поиск или задать дополнительный вопрос.
Пользователь пишет «украли фотки на озоне», но ведь база не понимает некоторых слов, а некоторые воспринимает совершенно не так как нам нужно, например "озон", для неё это скорее газ, чем маркетплейс. Добавил вызов LLM перед поиском, которая переформулирует запрос на юридический язык («нарушение исключительных авторских прав на фотографическое произведение, маркетплейс Ozon, компенсация ст. 1301 ГК РФ»), извлекает структурированные факты (тип объекта, роль пользователя, наличие переработки) и принимает решение: — данных достаточно, отправляем в работу — данных недостаточно, задаем дополнительный вопрос пользователю
Бот научился отсеивать мусорные фрагменты (чанки) до того, как они будут переданы из векторного хранилища в нейросеть. Раньше передавал всё подряд — теперь фильтрует и меняет поведение, если качественного контекста мало.
В боте уже был реранкер — модель, которая оценивает, насколько каждый найденный фрагмент подходит к вопросу. Из 30 найденных фрагментов он отбирал 10 лучших и передавал в нейросеть. Если же по теме поиска нашлось всего 5 близких фрагментов, то остальные 5 мест он заполнял потому что «надо» и тем «чем пришлось». В итоге LLM могла получить «хвост» из не релевантных фрагментов и начинала галлюцинировать на их основе. Добавил числовой порог, то есть если скор (оценка) фрагмента ниже определённого значения, то он отсеивается, сколько бы свободных мест ни оставалось.
Если первый поиск в базе дал мало результатов, бот сам формирует второй запрос, но с другими ключевыми словами и ищет ещё раз.
Раньше бот один раз обращался к базе — что нашёл, с тем и работал. Теперь после первого поиска происходит отдельный вызов LLM и она оценивает: хватает ли найденного? Если нет — формирует второй запрос с другими ключевыми словами, ищет ещё раз, а результаты от двух поисков объединяются. Если даже после повторного поиска релевантных фрагментов мало, то бот честно скажет, что практики в базе недостаточно, и предоставит то, что нашёл.
Тест изменений (на скриншотах)— один вопрос, два пайплайна:
Стал ли ответ точнее? Однозначно. Но я бы не спешил приписывать этот успех «магии» Agentic RAG. Часть улучшений — это результат донастройки фильтров и промптов.
Тем не менее, в архитектуре появилась та самая «агентная сущность» — система перестала следовать одному алгоритму и начала принимать решения на промежуточных этапах. Однако здесь важно понимать, агентность — это не всегда плюс. Чем больше в системе «самостоятельных» узлов, тем выше вероятность того, что агент примет неверное решение на промежуточном шаге и уверенно уведёт ответ в сторону. Автономность требует кратно большего внимания к настройке. Есть кейсы, где Agentic RAG будет чрезмерен или даже вреден, а классического линейного пайплайна хватит с головой, поэтому нужно выбирать инструмент под конкретные цели и задачи.
Кстати, кто хочет копнуть глубже — у Екатерины есть классный материал по agentic-RAG, рекомендую.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3❤1
Forwarded from AI Скрепка | Евгений Мирошниченко
Практикующий юрист, который строит RAG-бота для оценки компенсации за нарушение прав на РИД: 858+ актов СИП, агентная архитектура, сравнение 10 моделей на реальных кейсах.
📍 20 апреля в 19:00 в Яндекс Телемост вместе с Иваном разберем:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2🤝1
Кто важнее: эмбеддинг или реранкер?
Хотел выбрать лучшую эмбеддинг-модель для своего IP agent с системой RAG. Прогнал 6 моделей (OpenAI, Voyage, Cohere, e5-small, GigaEmbeddings, Yandex) на 858 актах СИП и 30 юридических вопросах. Итог совершенно другой - выбор эмбеддинга далеко не главное, что решает качество поиска.
Три вывода, к которым пришёл:
1️⃣ Реранкер важнее эмбеддинга. Он подтягивает слабые модели к уровню сильных. У Cohere и Yandex реранкер буквально удваивает качество. Если у вас есть приличный реранкер, разница между дорогим API и бесплатной локалкой почти незаметна.
2️⃣ Но эмбеддинг решает, что вообще попадёт в корзину кандидатов. Реранкер физически не видит того, что эмбеддинг не нашёл. А у каждой модели свои «слепые пятна».
3️⃣ Гибрид из двух разных эмбеддингов даёт +28 процентных пунктов покрытия корзины. OpenAI вместе с бесплатной e5-small находят 81.7% идеальных дел против 53.7% только OpenAI. Есть неплохая альтернатива - связка GigaEmbeddings + e5-small даёт почти те же значения - 81.3%.
➡️ Подробно описал в Telegraph: методология, метрики (nDCG@5, MRR), bootstrap-проверка на случайность, oracle-анализ гибрида, стоимость и время индексации по каждой модели, честный список ограничений самого теста.
Хотел выбрать лучшую эмбеддинг-модель для своего IP agent с системой RAG. Прогнал 6 моделей (OpenAI, Voyage, Cohere, e5-small, GigaEmbeddings, Yandex) на 858 актах СИП и 30 юридических вопросах. Итог совершенно другой - выбор эмбеддинга далеко не главное, что решает качество поиска.
Три вывода, к которым пришёл:
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍7🔥3
Провел онлайн-лекцию в Томском государственном университете для студентов программы «Специалист по цифровой трансформации юридической деятельности»
Рассказал, как устроен процесс вайбкодинга, с чего начать, и на примере своего проекта показал архитектуру, стек и инструменты.
По результатам получил 87 заполненных форм обратной связи. Студенты сделали 207 запросов к боту как на основе реальных, так и смоделированных ситуаций и оценили его работу по трём критериям:
🔵 точность ссылок - 4,29 из 5,
🔵 обоснованность вилки - 4,28 из 5,
🔵 практическая полезность - 4,69 из 5.
Важными оказались не только оценки студентов, но и их рекомендации по улучшению проекта:
➡️ Увеличить количество дел в базе (всё никак руки не дойдут);
➡️ Ввести режим краткого и развёрнутого ответа - полная версия многим кажется перегруженной;
➡️ Улучшить формат ответа: выделить жирным ключевое, разбить на понятные блоки;
➡️ Улучшить логику уточняющих вопросов - бот теряет контекст судебной практики, на которую сам ссылается в первом ответе.
Были и ошибки, бот иногда ссылается на дела, которые не относятся к ситуации, или даёт неточные расчёты. Это видно и по оценкам - точность ссылок получила самый низкий балл из трёх критериев. Есть над чем работать.
Судя по объёму и стилю обратной связи, некоторые студенты проверяли ответы бота через другую нейросеть. Содержание ожидаемое - «бот ссылается на несуществующую ст. 1252.1 ГК РФ», «на несуществующий повышающий коэффициент в п. 2 ст. 1301 ГК РФ» и что «применение редакции 2026 года - анахронизм».
Насколько мы знаем, это далеко не так😁
Вывод простой: ответы любой нейросети, включая мой бот, нужно проверять, прежде чем доверять "на слово". Но проверять нужно по источнику (текст закона, карточка дела), а не прогоном через другую LLM.
Спасибо Татьяне Трубниковой и студентам НИ ТГУ за возможность рассказать о вайбкодинге как современном навыке юриста и поделиться опытом построения своего проекта.
Рассказал, как устроен процесс вайбкодинга, с чего начать, и на примере своего проекта показал архитектуру, стек и инструменты.
По результатам получил 87 заполненных форм обратной связи. Студенты сделали 207 запросов к боту как на основе реальных, так и смоделированных ситуаций и оценили его работу по трём критериям:
Важными оказались не только оценки студентов, но и их рекомендации по улучшению проекта:
Были и ошибки, бот иногда ссылается на дела, которые не относятся к ситуации, или даёт неточные расчёты. Это видно и по оценкам - точность ссылок получила самый низкий балл из трёх критериев. Есть над чем работать.
Судя по объёму и стилю обратной связи, некоторые студенты проверяли ответы бота через другую нейросеть. Содержание ожидаемое - «бот ссылается на несуществующую ст. 1252.1 ГК РФ», «на несуществующий повышающий коэффициент в п. 2 ст. 1301 ГК РФ» и что «применение редакции 2026 года - анахронизм».
Насколько мы знаем, это далеко не так😁
Вывод простой: ответы любой нейросети, включая мой бот, нужно проверять, прежде чем доверять "на слово". Но проверять нужно по источнику (текст закона, карточка дела), а не прогоном через другую LLM.
Спасибо Татьяне Трубниковой и студентам НИ ТГУ за возможность рассказать о вайбкодинге как современном навыке юриста и поделиться опытом построения своего проекта.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍7❤1👏1
Forwarded from AI Скрепка | Евгений Мирошниченко
Напоминаю, что сегодня 📍 (20 апреля в 19:00) в Яндекс Телемост вместе с Иваном Кундилем разберем IP Agent и рассмотрим следующие вопросы:
➡️ Что такое IP Agent и какие задачи закрывает
➡️ Архитектура: RAG-пайплайн, эмбеддинги, реранкер, агентный поиск (как это работает в одном проекте)
➡️ Какие LLM лучше справляются с юридическими задачами, а какие сильно галлюцинируют — по результатам реальных тестов
➡️ Что даёт агентный RAG по сравнению с линейным пайплайном
➡️ Современные возможности LLM в праве и ответы на ваши вопросы
🎚 Участие бесплатное по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
telemost.yandex.ru
Звонок в Яндекс Телемосте
По ссылке вы сможете подключиться к звонку
👍6
Forwarded from AI Скрепка | Евгений Мирошниченко
Media is too big
VIEW IN TELEGRAM
Друзья, час пролетел незаметно - спасибо всем участникам! Приятного просмотра!
В этом выпуске:
Если у вас есть идеи, какую тему необходимо рассказать более детально - жду в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍10
Апелляция на собственный бенчмарк: как я искусственно раздул метрики реранкера
Недавно я публиковал бенчмарк эмбеддинг-моделей для юридического RAG и делал в нём крайне убедительные выводы: про реранкер, про эмбеддинги, про гибриды. Как оказалось, часть этих выводов была неверной.
На эту мысль меня подтолкнула Екатерина, отдельное ей спасибо. В методике моего расчета была брешь, которую я не заметил.
Что переделал: разметил 2751 пару (вместо 635) на уровне сырой выдачи, до этапа реранкинга, добавил к тесту еще одну локальную модель - deepvk/USER2-base. Вопросов по-прежнему 30. Что получилось:
〰️ Реранкер не даёт значимого прироста. Разница между выдачей "до" и "после" реранкера на моих данных в пределах погрешности, а для некоторых моделей эффект даже отрицательный (видно в таблице). То есть фактически прироста нет. Оговорка: вывод касается только конкретного реранкера, который у меня установлен. С другим реранкером результат может быть совсем иной.
〰️ Вывод про гибрид двух эмбеддингов устоял, но стал скромнее. Эффект от объединения двух моделей на честной разметке уменьшился, но остался. Оговорка: это сработает только если найти «нормальный» реранкер, который хорошо сортирует результаты. Без него гибрид расширяет корзину кандидатов, но до пользователя нужные дела всё равно могут не дойти. А существует ли "нормальный" реранкер - я пока не знаю.
〰️ О рейтинге эмбеддингов. На старой разметке все модели после реранкера были статистически неотличимы. К тесту я добавил ещё одну модель, которую часто рекомендуют в юридическом сообществе нейросетей, — deepvk/USER2-base. Значения и рейтинг в таблице к посту. Из рейтинга выделяется топ-3, но в рамках теста разница между этими тремя моделями считается погрешностью (30 вопросов — это небольшая выборка для уверенных выводов). Так что на этой выборке их результаты можно считать равными.
Главная находка - USER2-base. Локальная русская модель от deepvk, бесплатная, при этом по качеству не уступает OpenAI ($2.84 за индексацию моего корпуса) и Voyage ($0.63). Без API, без санкционных рисков.
Полная версия поста с таблицами и детальным разбором.
Недавно я публиковал бенчмарк эмбеддинг-моделей для юридического RAG и делал в нём крайне убедительные выводы: про реранкер, про эмбеддинги, про гибриды. Как оказалось, часть этих выводов была неверной.
На эту мысль меня подтолкнула Екатерина, отдельное ей спасибо. В методике моего расчета была брешь, которую я не заметил.
Что переделал: разметил 2751 пару (вместо 635) на уровне сырой выдачи, до этапа реранкинга, добавил к тесту еще одну локальную модель - deepvk/USER2-base. Вопросов по-прежнему 30. Что получилось:
Главная находка - USER2-base. Локальная русская модель от deepvk, бесплатная, при этом по качеству не уступает OpenAI ($2.84 за индексацию моего корпуса) и Voyage ($0.63). Без API, без санкционных рисков.
Полная версия поста с таблицами и детальным разбором.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥7
Реранкер: оставить, заменить или выкинуть?
После того как учёл ошибки в бенчмарке эмбеддингов, решил поменять модель эмбеддинга в боте и наконец-то дозалить новую судебную практику. Но столкнулся с тем, что заодно нужно определиться с реранкером: оставить старый, выбрать новый или вовсе убрать.
Что сделал. На уже размеченных данных прошлого теста прогнал четыре реранкера по тем же 30 вопросам и семи эмбеддингам. Делать новую разметку не пришлось, поэтому всё заняло несколько часов.
Реранкеры в тесте:
mmarco-mMiniLMv2 - мой текущий, обучен на английском MS MARCO
bge-reranker-v2-m3 - мультиязычный от BAAI, 568M параметров
jina-reranker-v3 - листвайз-архитектура, 0.6B параметров
mxbai-rerank-base-v2 - на базе Qwen-2.5, 0.5B параметров
Плюс baseline без реранкера (raw).
Главные выводы:
➖ Не каждый реранкер подходит для русского юридического корпуса. Mxbai в моём корпусе значимо ухудшил результаты на большинстве эмбеддингов, английский mmarco на русском ожидаемо нейтрален. Работают только bge и jina.
➖ Эффект реранкера зависит от качества эмбеддинга. На сильных эмбеддингах (OpenAI, Voyage, USER2-base) приросты в пределах погрешности - на 30 вопросах их математически невозможно отличить от нуля. На слабых эмбеддингах эффект уже ощутимый и статистически значимый:
Yandex (raw 0.630) → bge 0.755 (+12.5 пункта)
Cohere (raw 0.700) → jina 0.793 (+9.3 пункта)
OpenAI настолько хорошо ранжирует юридические дела сам, что реранкеру нечего улучшать. На слабом эмбеддинге пространство для улучшения есть, и реранкер реально вытягивает результат.
➖ USER2-base + jina как локальная альтернатива OpenAI. USER2-base в raw даёт 0.773. С jina связка выходит 0.797. Для сравнения: OpenAI без реранкера - 0.809. Разница на этой выборке в пределах погрешности - нет смысла выбирать OpenAI вместо локальной связки.
Решение для бота
Поставлю USER2-base, если позволят ресурсы сервера, плюс jina-reranker-v3. Если jina по железу не пойдёт - оставлю bge. Mmarco убираю, пользы от него нет.
Ограничения теста те же, что в прошлом посте. Часть выводов подтверждена статистически, часть - наблюдения в рамках выборки 30 вопросов.
После того как учёл ошибки в бенчмарке эмбеддингов, решил поменять модель эмбеддинга в боте и наконец-то дозалить новую судебную практику. Но столкнулся с тем, что заодно нужно определиться с реранкером: оставить старый, выбрать новый или вовсе убрать.
Что сделал. На уже размеченных данных прошлого теста прогнал четыре реранкера по тем же 30 вопросам и семи эмбеддингам. Делать новую разметку не пришлось, поэтому всё заняло несколько часов.
Реранкеры в тесте:
mmarco-mMiniLMv2 - мой текущий, обучен на английском MS MARCO
bge-reranker-v2-m3 - мультиязычный от BAAI, 568M параметров
jina-reranker-v3 - листвайз-архитектура, 0.6B параметров
mxbai-rerank-base-v2 - на базе Qwen-2.5, 0.5B параметров
Плюс baseline без реранкера (raw).
Главные выводы:
Yandex (raw 0.630) → bge 0.755 (+12.5 пункта)
Cohere (raw 0.700) → jina 0.793 (+9.3 пункта)
OpenAI настолько хорошо ранжирует юридические дела сам, что реранкеру нечего улучшать. На слабом эмбеддинге пространство для улучшения есть, и реранкер реально вытягивает результат.
Решение для бота
Поставлю USER2-base, если позволят ресурсы сервера, плюс jina-reranker-v3. Если jina по железу не пойдёт - оставлю bge. Mmarco убираю, пользы от него нет.
Ограничения теста те же, что в прошлом посте. Часть выводов подтверждена статистически, часть - наблюдения в рамках выборки 30 вопросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤3👍2
Немного мыслей про Obsidian
В сети много примеров связки агент (Cowork и др.) + Obsidian, складывается впечатление, будто Obsidian сам по себе делает работу эффективнее. Но так ли это?
Если кто не знаком, Obsidian, это удобный редактор md-заметок (md, обычный текстовый формат файлов) с графом связей и навигацией по ссылкам, а не «второй мозг», как его иногда позиционируют. Ближе аналогия с картотекой Лумана, только в цифре.
Если в двух словах. Тот же эффект можно получить от обычной папки с .md и без Obsidian. Полезны сами md-саммари, программа лишь добавляет удобства пользователю - автокомплит при наборе [[ (выпадает список заметок), кликабельные переходы, обратные ссылки (видишь, кто на эту заметку ссылается). Когда заметок много, ориентироваться через эти функции проще, чем искать файлы по рабочему столу. Использовать можно любого агента с доступом к папке (Cowork, Claude Code, Trae, Cursor). Современные агенты подключаются к vault (так Obsidian называет рабочую папку) через MCP (стандарт, по которому агент читает и пишет файлы у тебя на ПК).
Дальше про то, как применяю. Для двух моих сфер, кода и юр. практики. Польза в одном - накопление контекста, который не помещается в голове.
В работе с кодом
〰️ Журнал архитектурных решений. Накидал черновик агенту, он оформил заметку и связал с предыдущими. В коде не написано, почему я перешёл на другую модель эмбеддинга или удалил реранкер. Заметки хранят именно эти причины.
〰️ Промпт-библиотека. Рабочие промпты, чтобы не писать каждый раз с нуля.
〰️ Журнал экспериментов. Что пробовал и не сработало (история с метриками реранкера в первой версии бенчмарка), чтобы не наступать на одни и те же грабли.
〰️ Идеи и планы. Не только сами идеи, но и причины, по которым их стоит реализовать.
В новом чате указываю агенту нужные заметки, он сразу видит логику проекта, не предлагает отброшенные варианты. Экономит токены. Если не указать конкретные файлы, агент полезет читать весь проект.
В юр. работе
〰️ Длинное дело на несколько лет или с большим количеством материалов. После каждого процессуального действия делаю заметку. Позиция, аргументы, выводы эксперта, свои мысли.
〰️ Связи. Вывод эксперта → возражение ответчика → мой контр-аргумент. Открываешь через полгода заметку про экспертизу, внизу видишь всё, что на неё опирается.
〰️ Та же логика «что» (материалы дела) и «почему» (моя тактика, этого в материалах нет, через полгода трудно вспомнить).
〰️ Подключаешь агента к папке проекта, он работает с твоими саммари, а не с тонной документов.
Где роль Obsidian переоценена
Видел популярный сценарий - скачиваешь судебную практику, подключаешь агента, получаешь аналитику. Попробовал, 50 дел, Cowork + Obsidian. Расход токенов уже на десятке дел ощутимый. Агент с каждым новым делом перечитывает ранее размеченные.
И ладно токены, но в таких задачах Obsidian переоценен. Агент выполнит эти задачи и без него. Графы видит только пользователь, агенту нужны саммари, а не визуализация. Obsidian нужен «на длинной дистанции», когда надо вспомнить контекст задачи полугодовой давности, а не для аналитики здесь и сейчас.
Итог
Obsidian не делает тебя продуктивнее сам по себе, это просто редактор заметок. Но если есть привычка вести заметки, экономит часы на «где это было / почему я сделал именно так» и токены на объяснение агенту контекста. Для юриста с длинными делами и вайбкодера с растущим проектом, рабочий инструмент.
В сети много примеров связки агент (Cowork и др.) + Obsidian, складывается впечатление, будто Obsidian сам по себе делает работу эффективнее. Но так ли это?
Если кто не знаком, Obsidian, это удобный редактор md-заметок (md, обычный текстовый формат файлов) с графом связей и навигацией по ссылкам, а не «второй мозг», как его иногда позиционируют. Ближе аналогия с картотекой Лумана, только в цифре.
Если в двух словах. Тот же эффект можно получить от обычной папки с .md и без Obsidian. Полезны сами md-саммари, программа лишь добавляет удобства пользователю - автокомплит при наборе [[ (выпадает список заметок), кликабельные переходы, обратные ссылки (видишь, кто на эту заметку ссылается). Когда заметок много, ориентироваться через эти функции проще, чем искать файлы по рабочему столу. Использовать можно любого агента с доступом к папке (Cowork, Claude Code, Trae, Cursor). Современные агенты подключаются к vault (так Obsidian называет рабочую папку) через MCP (стандарт, по которому агент читает и пишет файлы у тебя на ПК).
Дальше про то, как применяю. Для двух моих сфер, кода и юр. практики. Польза в одном - накопление контекста, который не помещается в голове.
В работе с кодом
В новом чате указываю агенту нужные заметки, он сразу видит логику проекта, не предлагает отброшенные варианты. Экономит токены. Если не указать конкретные файлы, агент полезет читать весь проект.
В юр. работе
Где роль Obsidian переоценена
Видел популярный сценарий - скачиваешь судебную практику, подключаешь агента, получаешь аналитику. Попробовал, 50 дел, Cowork + Obsidian. Расход токенов уже на десятке дел ощутимый. Агент с каждым новым делом перечитывает ранее размеченные.
И ладно токены, но в таких задачах Obsidian переоценен. Агент выполнит эти задачи и без него. Графы видит только пользователь, агенту нужны саммари, а не визуализация. Obsidian нужен «на длинной дистанции», когда надо вспомнить контекст задачи полугодовой давности, а не для аналитики здесь и сейчас.
Оговорки➖ Безопасность. Vault лежит у тебя на ПК, ничего не уходит в облако. Положительный момент относительно тех же Notion и Evernote.➖ Граф не так полезен, как кажется. Помогает видеть изолированные заметки и хабы. Для поиска ответов бесполезен. Открывал несколько раз за всё время.➖ Web Clipper. Сохраняет текст статьи в md-заметку. На сайтах со сложной защитой может вытащить пустую страницу (например, К+). За год может получиться личная библиотека под свои интересы.➖ Базовый Obsidian бесплатен. Платно только Sync (синхронизация устройств) и Publish (публикация vault как сайта).➖ Заметки, это обычные .md, откроются в любом редакторе и без Obsidian.
Итог
Obsidian не делает тебя продуктивнее сам по себе, это просто редактор заметок. Но если есть привычка вести заметки, экономит часы на «где это было / почему я сделал именно так» и токены на объяснение агенту контекста. Для юриста с длинными делами и вайбкодера с растущим проектом, рабочий инструмент.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3🙏2
Галлюцинации в RAG: починил у себя, проверил у Нейроюриста
Недавно обнаружил в своём боте по интеллектуальной собственности галлюцинацию. Спрашиваю у него про компенсацию за фото на маркетплейсе, бот развёрнуто отвечает и ссылается на конкретные дела. Открываю проверить дело, а там вовсе другая история. Аргументы сторон не такие, как описал бот, сумма другая, тематика близкая, но детали бот попросту выдумал.
Так выглядит галлюцинация в RAG системе - её куда сложнее обнаружить, чем галлюцинацию в обычном чате с нейросетью. В данном случае и реквизиты дела верные, и тематика близкая, но обстоятельства другие, нежели описанные ботом. Для обнаружения такой галлюцинации нужно читать все дело.
Происходит это потому, что бот видит не весь судебный акт, а только его фрагмент в 800 символов (такой размер посчитал оптимальным). Сам акт обычно от 6 до 40 тыс. символов. Бот находит нужный кусок мотивировочной части, но не видит ни аргументов сторон в начале, ни итоговой суммы в конце. И начинает додумывать всё, чего не видел, сам. Первых 3 дел это не касается - для самых релевантных результатов бот подтягивает акт целиком.
Недавно обнаружил в своём боте по интеллектуальной собственности галлюцинацию. Спрашиваю у него про компенсацию за фото на маркетплейсе, бот развёрнуто отвечает и ссылается на конкретные дела. Открываю проверить дело, а там вовсе другая история. Аргументы сторон не такие, как описал бот, сумма другая, тематика близкая, но детали бот попросту выдумал.
Так выглядит галлюцинация в RAG системе - её куда сложнее обнаружить, чем галлюцинацию в обычном чате с нейросетью. В данном случае и реквизиты дела верные, и тематика близкая, но обстоятельства другие, нежели описанные ботом. Для обнаружения такой галлюцинации нужно читать все дело.
Происходит это потому, что бот видит не весь судебный акт, а только его фрагмент в 800 символов (такой размер посчитал оптимальным). Сам акт обычно от 6 до 40 тыс. символов. Бот находит нужный кусок мотивировочной части, но не видит ни аргументов сторон в начале, ни итоговой суммы в конце. И начинает додумывать всё, чего не видел, сам. Первых 3 дел это не касается - для самых релевантных результатов бот подтягивает акт целиком.
Что сделал
Вариант, который, по моему мнению, способен исключить подобную галлюцинацию и не задушить ЛЛМ контекстом – это создать для каждого дела из базы свой паспорт, который будет включать весь контекст дела (что просил истец, что взыскал суд, какие аргументы у сторон, по какой методике считали компенсацию и т.д.). Прогнал базу из 2392 судебных актов (да, наполнил базу новыми актами) через Gemini 2.5 flash и для каждого дела создал паспорт. Этот паспорт теперь прикрепляется к каждому фрагменту (чанку) дела в базе. При поиске бот получает и обрывок текста, и итоговые факты всего акта.
Дополнительно сделал ещё один этап сортировки на основе паспорта. Если модель нашла дело, у которого контекст паспорта не соответствует контексту вопроса, такое дело отсеивается до того, как попадёт в финальный ответ.
По итогу тестов галлюцинаций больше не нашёл. По крайней мере на тех проверках, что я успел прогнать. Стоимость создания таких паспортов вышла около 7 долларов на API (делал через aistudio, выходит дешевле, чем через опенроутер или роутер.аи).
👍5🔥3🤝1
А как у других?
Подобные галлюцинации преследуют не только маленькие проекты, но и специализированные сервисы таких гигантов, как Яндекс. Проверил Нейроюриста (который работает в связке с Гарантом) - тот же запрос про фото на маркетплейсе, ответ со ссылками на 10 «реальных» судебных актов.
В итоге - из 10 приведенных дел, 5 вообще не про интеллектуальную собственность. Взыскание долгов за электроэнергию, услуги РЖД, муниципальный контракт на содержание дорог. Два дела с подозрительно красивыми номерами в системе КАД не находятся вовсе (вероятнее всего, галлюцинация). В анализе Нейроюрист ссылается на дело № А41-56789/2023 как пример длительности использования фото. По факту это спор о 5,8 млн рублей задолженности по контракту на содержание улично-дорожной сети.
Из всех 10 ссылок реально по теме только 2 дела, и только одно подходит под контекст вопроса.
Ниже прикрепил скрин с делами, которые предоставил Нейроюрист в качестве релевантной практики по вопросу интеллектуальных прав в части фотографий.
Качество ответов в подобных сервисах (если говорим про галлюцинации) больше зависит не от модели ЛЛМ, которую выбрали, а от обвязки (настройка, код, пайплайн), которую построили вокруг этой модели. Можно взять лучшую ЛЛМ и идеальные эмбеддинги, но если ЛЛМ получает части документа без контекста всего дела, то неизбежно будет додумывать остальное сама.
А если на ИИ-инструменте написано «Яндекс» и указано, что он работает в связке с Гарантом, это, увы, не гарантирует, что он сошлётся на релевантное дело.
Подобные галлюцинации преследуют не только маленькие проекты, но и специализированные сервисы таких гигантов, как Яндекс. Проверил Нейроюриста (который работает в связке с Гарантом) - тот же запрос про фото на маркетплейсе, ответ со ссылками на 10 «реальных» судебных актов.
В итоге - из 10 приведенных дел, 5 вообще не про интеллектуальную собственность. Взыскание долгов за электроэнергию, услуги РЖД, муниципальный контракт на содержание дорог. Два дела с подозрительно красивыми номерами в системе КАД не находятся вовсе (вероятнее всего, галлюцинация). В анализе Нейроюрист ссылается на дело № А41-56789/2023 как пример длительности использования фото. По факту это спор о 5,8 млн рублей задолженности по контракту на содержание улично-дорожной сети.
Из всех 10 ссылок реально по теме только 2 дела, и только одно подходит под контекст вопроса.
Ниже прикрепил скрин с делами, которые предоставил Нейроюрист в качестве релевантной практики по вопросу интеллектуальных прав в части фотографий.
Качество ответов в подобных сервисах (если говорим про галлюцинации) больше зависит не от модели ЛЛМ, которую выбрали, а от обвязки (настройка, код, пайплайн), которую построили вокруг этой модели. Можно взять лучшую ЛЛМ и идеальные эмбеддинги, но если ЛЛМ получает части документа без контекста всего дела, то неизбежно будет додумывать остальное сама.
А если на ИИ-инструменте написано «Яндекс» и указано, что он работает в связке с Гарантом, это, увы, не гарантирует, что он сошлётся на релевантное дело.
Что внутри у Нейроюриста, я не знаю - использует он классический RAG, обращается к Гаранту по API, или это гибрид. Но судя по тому, какую практику он выдаёт, можно сделать вывод о том, каких слоёв там точно нет.
Пять дел из чужой отрасли - значит, нет фильтра по тематике перед выдачей. Два дела с красивыми номерами выдуманы - значит, ЛЛМ не привязана к реально найденным делам и может дописать «правдоподобный» номер от себя, без сверки с базой. А вот дело А41-56789/2023, где номер настоящий, а описание не подходит по теме, говорит о той же галлюцинации, которую я поймал у себя: модель видит кусок акта без полного контекста и достраивает остальное по аналогии.
Все три проблемы лежат на уровне обвязки, а не данных: фильтрация кандидатов по тематике, привязка каждого фрагмента к полному контексту дела, сверка реквизитов с базой перед ответом. Связка с Гарантом тут не спасает - даже идеальный источник не помогает, если на выходе модель додумывает по нему свои детали.
🔥6👍3🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
Выкатил апдейт для IP Agent
В боте теперь работают кликабельные ссылки на документы. Раньше приходилось копировать номер дела и вручную искать решение или постановление на сайте - теперь просто тыкаешь на ссылку, и текст открывается прямо из бота.
Если где-то не открывается или ссылка не подсветилась - напишите, починю.
В боте теперь работают кликабельные ссылки на документы. Раньше приходилось копировать номер дела и вручную искать решение или постановление на сайте - теперь просто тыкаешь на ссылку, и текст открывается прямо из бота.
Если где-то не открывается или ссылка не подсветилась - напишите, починю.
👍7🔥3🤔1🤝1
Он теперь совсем взрослый самостоятельный, или как я запустил автообновление базы судебной практики 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 дел, у бота появился второй режим работы, а теперь он ещё и сам пополняет базу по ночам.
Интересно мнение коллег - как относитесь к такому парсингу?
Акты открытые, доступ свободный, проект некоммерческий, но автоматизированный сбор не везде приветствуется.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👏2👍1🤝1