Хочется завершить начатый #делайRAG рассказ про пайплайн — помимо сегодняшнего будет еще два поста о последнем шаге с эмбеддингами и заключительный.
Сегодня хочу рассказать об одном по сути этапе ручной проверки, но сборка таблиц — технически отдельный большой и не простой этап, который у меня, кажется, ни за одну сессию не сработал нормально🙂
После разметки Gemini возвращает JSONы, в которых есть метки «session_ID». Этот ID появляется еще на первом этапе (скрапинге): это результат моих попыток сделать многоразовый пайплайн, в рамках которого самостоятельные сессии обрабатываются отдельно от других (грубо говоря, я сделала скрапинг практики за 2020-й год, и все дальнейшие шаги должны исполняться в отношении только этой пачки кейсов). В общем, сколько у меня в итоге было субститутных костыльных кодов, которые дособирали эти пачки — стыдно признаться.
Центральная функция этой части кода — собрать таблицу с релевантными для RAG (субстантивными) делами. Каждый ключ в JSONе становится колонкой таблицы (смотрите аттач со скринами в комментарии — этот аттач в отличие от предыдущих полезно посмотреть тем, кто не очень разбирается во всех этих жисонах, там наглядно). Затем таблица с релевантными делами дополняется скриптом тремя колонками:
🤩 колонка с полным текстом решения ФАС из папки, в которую помещаются все txt с решениями на этапе скрапинга;
🤩 колонка с caseID. Зачем это нужно — это довольно скучно, вынесла это в аттач;
🤩 колонка с «тематическими тегами».
Тематические теги — это описание статей из ФЗ «О рекламе» максимально короткими ключевыми словами по типу «некорректное_сравнение», «БАД_дисклеймер».
Основной функционал этих тегов — они помогают оценивать равномерное наполнение базы знаний кейсами разной тематики (чтобы не было перекоса, например, в рекламу финансовых услуг, и было побольше решений по темам, которые достаточно редко затрагиваются (например, правила о государственном языке)). У тегов есть еще и задел на будущее — они будут основой для reranking-а, который я планирую реализовать для повышения точности выдачи кейсов из базы, связью с кластером эмбеддингов для руководств ФАС, который я тоже хочу до Нового года всё же сделать.
Ну и затем я перехожу к ручному отсмотру. Делаю я его по нескольким причинам:
🤩 Нейросеть иногда плохо справляется с частью промпта, которая просит её считать нерелевантными дела, требующими наличия каких-то лицензий и разрешений, где содержание рекламы не совпало с реальностью. В каждом батче таких обязательно будет 20-30 дел, и, на мой взгляд, они не особо нужны для задачи, которую решает бот.
🤩 Нейросеть получает каждый новый кейс на рассмотрение без знания обо всех предыдущих, и ей невдомек, что база знаний распухнет от однотипных решений по фразе «мы лучше, чем ломбард!».
🤩 Мне просто это нравится! 🤗 Мне нравится рекламное право в целом, это расширяет мой профессиональный кругозор. Всё, что нейросеть оценивает на 6-9 баллов, как правило, довольно интересно смотреть.
🤩 Я искренне верю в то, что база знаний не должна быть свалкой документов, она требует кураторского подхода, и мои объемы не такие, чтобы всё отдавать на откуп нейросети.
Но нужно сказать, что вся эта система оценок действительно работает, и если лень, то можно и отдать всю задачу нейросети: просто смело брать из каждого батча дела от 5 баллов. Но и при мануальном отсмотре я полагаюсь на эти оценки: примерно с 5 баллов уже просматриваю по диагонали, подмечая только кейсы по редко освещаемым в практике вопросам, даже если там простая правовая позиция, и «поднимаю» им оценку. В принципе я читаю только колонку violation_summary, иногда смотрю аргументы ФАС с цитатами. Количество осечек при суммаризации минимальное, и я каждый раз радуюсь тому, как нейросети упростили такой тип задач.
Итогом этого этапа является то, что я беру и руками копирую строки с оценкой выше 4 или 3 (зависит от батча) и вставляю в файл с основной базой, святая святых, RAG.csv. Это тоже можно делать скриптом, но мне не лень😊
Всё! Всех с понедельничком, отличной недели, друзья☕️
Сегодня хочу рассказать об одном по сути этапе ручной проверки, но сборка таблиц — технически отдельный большой и не простой этап, который у меня, кажется, ни за одну сессию не сработал нормально
После разметки Gemini возвращает JSONы, в которых есть метки «session_ID». Этот ID появляется еще на первом этапе (скрапинге): это результат моих попыток сделать многоразовый пайплайн, в рамках которого самостоятельные сессии обрабатываются отдельно от других (грубо говоря, я сделала скрапинг практики за 2020-й год, и все дальнейшие шаги должны исполняться в отношении только этой пачки кейсов). В общем, сколько у меня в итоге было субститутных костыльных кодов, которые дособирали эти пачки — стыдно признаться.
Центральная функция этой части кода — собрать таблицу с релевантными для RAG (субстантивными) делами. Каждый ключ в JSONе становится колонкой таблицы (смотрите аттач со скринами в комментарии — этот аттач в отличие от предыдущих полезно посмотреть тем, кто не очень разбирается во всех этих жисонах, там наглядно). Затем таблица с релевантными делами дополняется скриптом тремя колонками:
Тематические теги — это описание статей из ФЗ «О рекламе» максимально короткими ключевыми словами по типу «некорректное_сравнение», «БАД_дисклеймер».
Основной функционал этих тегов — они помогают оценивать равномерное наполнение базы знаний кейсами разной тематики (чтобы не было перекоса, например, в рекламу финансовых услуг, и было побольше решений по темам, которые достаточно редко затрагиваются (например, правила о государственном языке)). У тегов есть еще и задел на будущее — они будут основой для reranking-а, который я планирую реализовать для повышения точности выдачи кейсов из базы, связью с кластером эмбеддингов для руководств ФАС, который я тоже хочу до Нового года всё же сделать.
Ну и затем я перехожу к ручному отсмотру. Делаю я его по нескольким причинам:
Но нужно сказать, что вся эта система оценок действительно работает, и если лень, то можно и отдать всю задачу нейросети: просто смело брать из каждого батча дела от 5 баллов. Но и при мануальном отсмотре я полагаюсь на эти оценки: примерно с 5 баллов уже просматриваю по диагонали, подмечая только кейсы по редко освещаемым в практике вопросам, даже если там простая правовая позиция, и «поднимаю» им оценку. В принципе я читаю только колонку violation_summary, иногда смотрю аргументы ФАС с цитатами. Количество осечек при суммаризации минимальное, и я каждый раз радуюсь тому, как нейросети упростили такой тип задач.
Итогом этого этапа является то, что я беру и руками копирую строки с оценкой выше 4 или 3 (зависит от батча) и вставляю в файл с основной базой, святая святых, RAG.csv. Это тоже можно делать скриптом, но мне не лень
Всё! Всех с понедельничком, отличной недели, друзья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥1 1 1
Сегодня была на очень классной конференции HeadHunter по рекламе: все узнаваемые лица рекламного права, самые животрепещущие темы — и базовая база, и насущное, отличные спикеры. С первого же выступления пленарной сессии представителя УФАС по республике Башкортостан Рината Хасанова пошла дискуссионная энергия с подачи столпа российского рекламного права Дмитрия Григорьева. Как мне кажется, компетентная дискуссия, тем более с регулятором, — это ни что иное, как успех мероприятия.
Еще мне было особенно приятно услышать от профильных коллег, что о боте знают, он на слуху, им пользуются🥺 Получилось вынести с конференции #keytakeaways применительно к боту — нужно обязательно перепроверить, как он будет решать задачки в свете законодательных изменений (энергетики, например), и, возможно, раговать сам закон в актуальной редакции, и редакцию эту поддерживать. Так сказать, practice what you preach в плане качественных RAG-систем.
В свете всего этого есть ощущение, что я задолжала с рубрикой #мудростьФАС. Я не могла не посмотреть, что в моей базе есть от УФАС Башкирии: целых 33 кейса, и несколько примечательных дел по использованию ч. 5 ст. 7 Закона О рекламе, запрещающей умолчания о существенных обстоятельствах. Как я писала в своейне особо популярной, но, как мне кажется, весьма дельной колонке на VC, эта статья — это козырь в рукаве ФАС, который позволяет привлекать к ответственности за манипулятивную рекламу в отсутствие прямых законодательных запретов. Часто она используется для формирования практики, которая потом становится законом, как это произошло с рекламой юридических услуг по банкротству физических лиц. И вот где УФАС Башкирии увидело возможность прикрыть шальную рекламу этой статьёй:
🤩 лечение алкоголизма в одном ряду с услугами о гаданиях и приворотах. В газете «Мир вакансий» была размещена реклама с текстом «Гадания. Привороты. Снятие порчи. Лечение алкогольной зависимости», а рекламодательница пояснила, что все эти вещи она реализует с помощью карт Таро, а не предлагает медицинские услуги, как кто-то мог бы подумать. Реклама была признана ненадлежащей по причине (прямая цитата):
🤩 Не обошлось и без других способов подлечить население:
Признавайтесь, кто бывал в таких? Я бывала, мне там бабулиты советовали в телефоне не сидеть. Но УФАС Башкирии, хоть и не пишет об этом прямо, видимо, на стороне докмеда, потому что Комиссия отметила, что в рекламе содержится информация, ничем не подтвержденная и вводящая потребителей в заблуждение, так как доказательства положительного действия используемого при оказании услуг аппарата представлены не были.
🤩 И напоследок о финансовом здоровье — рекламировали «торгового робота», то есть программу «которая может использоваться для предоставления индивидуальных инвестиционных рекомендаций», а такие программы должны иметь аккредитацию ЦБ. Раз информации об аккредитации в рекламе не было, то и ч. 7 ст. 5 нарушилась. Конкретный текст рекламы не приводится, и сложно судить — действительно ли просто увидели формальное нарушение, или использовали его как удобный аргумент, чтобы предотвратить использование гражданами какой-то скамной истории. Возрадуемся, что такие боты, как мой, не требуют ничьей аккредитации! ☕️
Закруглю пост тем, что конференция была просто прекрасно организована в очень красивой локации, спасибо большое Юрию Донникову и его команде за такое полезное мероприятие. А еще сегодня день работника рекламной индустрии, не знаю, планировали ли организаторы, или так удачно совпало. Если совпало, то знак просто отличный!
Еще мне было особенно приятно услышать от профильных коллег, что о боте знают, он на слуху, им пользуются
В свете всего этого есть ощущение, что я задолжала с рубрикой #мудростьФАС. Я не могла не посмотреть, что в моей базе есть от УФАС Башкирии: целых 33 кейса, и несколько примечательных дел по использованию ч. 5 ст. 7 Закона О рекламе, запрещающей умолчания о существенных обстоятельствах. Как я писала в своей
«В данном случае осуществление услуг приворот, порча, снятие алкогольной зависимости на гадальных картах ТАРО может привести к формированию у граждан неверного представления о существе оказываемых услуг.»
«СОЛЯНАЯ ПЕЩЕРА. SPELEON. ВДОХНИ ЗДОРОВЬЕ ВСЕЙ СЕМЬЕЙ! Повышает иммунитет. Способствует профилактике частых простуд, гриппа, ЛОР заболеваний, заболеваний органов дыхания. Оказывает благоприятное воздействие при аллергии и астме. Очищает и омолаживает кожу. Снимает стресс и переутомление. Способствует улучшению сна. Очищает легки от табачного дыма.»
Признавайтесь, кто бывал в таких? Я бывала, мне там бабулиты советовали в телефоне не сидеть. Но УФАС Башкирии, хоть и не пишет об этом прямо, видимо, на стороне докмеда, потому что Комиссия отметила, что в рекламе содержится информация, ничем не подтвержденная и вводящая потребителей в заблуждение, так как доказательства положительного действия используемого при оказании услуг аппарата представлены не были.
Закруглю пост тем, что конференция была просто прекрасно организована в очень красивой локации, спасибо большое Юрию Донникову и его команде за такое полезное мероприятие. А еще сегодня день работника рекламной индустрии, не знаю, планировали ли организаторы, или так удачно совпало. Если совпало, то знак просто отличный!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6🔥5 1
Давно не было #commits. Только я начала заниматься наиболее приятными для меня делами, как вайб-кодинг с ноги ворвался обратно в мои будни (и выходные) 🤪 Я думала, что этот пост буду постить во вторник, но… впрочем, начну с приятного:
🤩 Ещё немного больше user-friendliness
Не все закоулки пользовательского пути оказались качественно освоенными! Теперь бот проверяет размер загруженного файла (раньше не проверял😊 и можно теперь 20 МБ лить), и если файл слишком большой, а также если формат неверный, то пользователь получает единое сообщение с кнопочкой, позволяющей попробовать ещё раз. Также в мои админские сообщения об ошибках пользователей теперь добавляется @юзернейм, чтобы я могла оперативно связаться с потерпевшим.
Мелочи, а приятно, и накодилось это всё тоже с полпинка — с первых промптов, на тесте ничего не упало, сразу запушила, в общей сложности минут за 40 этой ночью. Вот всегда бы так!
🤩 Аналитика логов
Я писала недавно, что работа с логами вызывает у меня приступы прокрастинации, но я собралась с духом и в общем-то с первого раза накодился код аж целого нового файла на Гитхабе —
Код написался-то с первого раза, но не с первого раза удалось сделать так, чтобы вся эта красота действительно работала каждый день в 20:00 по Московскому времени, поэтому этот файл успел обрасти уже собственным подробным логированием, а также логикой повтора попыток отправить отчёт в Telegram. Не хочется вдаваться в скучные подробности, но теперь я знаю, что такое cron job, daemon, что именно делает команда
Сохраняется интрига, придёт ли сегодня отчёт в 20:00. Ибо имеет место загадка дыры: отчёт не пришёл в четверг, когда эти изменения были впервые задеплоены (при этом создалась таблица), но пришёл вчера без какого-либо оконченного вмешательства с моей стороны (а ещё пытался отправиться около 17 часов)🙂
Следующий шаг — аналитика всей этой таблицы, нужно будет трогать палкой синтаксис pandas и разворачивать специальный ноутбук в Jupyter Lab, чтобы по-разному эту табличку крутить. Всё про вас узнаю, наконец!
А из отчётов, кстати, видно, что образовался костяк регулярных пользователей при в общем-то небольшом притоке новых. Очень приятно, коллеги, что вы находите инструмент полезным!🥺
Ну и новости (придумала название рубрике — #ботоводство)!
На этой неделе стала получать загадочную ошибку «
Я уже пробовала подступаться к этому делу, и пока миграция не очень получается((( за следующую неделю постараюсь дожать, но в целом не удивляйтесь и отнеситесь, пожалуйста, с пониманием, если будут возникать проблемы. Например, в четверг поломалась именно с этой ошибкой обработка pdf-файлов, а вчера в ночи pdf-ку спокойно отработал. Почему так — не знаю и не чувствую сил погружаться прям сильно подробно, но ценный урок извлекла: таких глубоких привязок к библиотекам, специфическим для конкретной LLM-ки нужно как-то пытаться избегать.
Мытарства этой недели и очевидность мучений недели грядущей позволяют мне решительно посмотреть сегодня 2-3-4 серии Отчаянных домохозяек. И вам тоже хороших выходных!☕️
Не все закоулки пользовательского пути оказались качественно освоенными! Теперь бот проверяет размер загруженного файла (раньше не проверял
Мелочи, а приятно, и накодилось это всё тоже с полпинка — с первых промптов, на тесте ничего не упало, сразу запушила, в общей сложности минут за 40 этой ночью. Вот всегда бы так!
Я писала недавно, что работа с логами вызывает у меня приступы прокрастинации, но я собралась с духом и в общем-то с первого раза накодился код аж целого нового файла на Гитхабе —
aggregator.py. Он парсит все логи, делает из них большую csv-таблицу, а также генрит мне красивые ежедевные отчеты о пользовательской активности в админку (пример см. в комментариях). Код написался-то с первого раза, но не с первого раза удалось сделать так, чтобы вся эта красота действительно работала каждый день в 20:00 по Московскому времени, поэтому этот файл успел обрасти уже собственным подробным логированием, а также логикой повтора попыток отправить отчёт в Telegram. Не хочется вдаваться в скучные подробности, но теперь я знаю, что такое cron job, daemon, что именно делает команда
print в коде. Сохраняется интрига, придёт ли сегодня отчёт в 20:00. Ибо имеет место загадка дыры: отчёт не пришёл в четверг, когда эти изменения были впервые задеплоены (при этом создалась таблица), но пришёл вчера без какого-либо оконченного вмешательства с моей стороны (а ещё пытался отправиться около 17 часов)
Следующий шаг — аналитика всей этой таблицы, нужно будет трогать палкой синтаксис pandas и разворачивать специальный ноутбук в Jupyter Lab, чтобы по-разному эту табличку крутить. Всё про вас узнаю, наконец!
А из отчётов, кстати, видно, что образовался костяк регулярных пользователей при в общем-то небольшом притоке новых. Очень приятно, коллеги, что вы находите инструмент полезным!
Ну и новости (придумала название рубрике — #ботоводство)!
На этой неделе стала получать загадочную ошибку «
Missing required parameter "ragStoreName"». Диагностика показала, что мой бэкэнд написан на библиотеке google-generativeai, которую перестали поддерживать ещё аж с 31 августа, и по-хорошему нужно переезжать на новую библиотеку google-genai. В некоторых моментах у них принципиально отличается логика обработки API-запросов в Gemini, и вот местами (не каждый раз, но уже с неприятной регулярностью) оно подтравливает и ломается. Я уже пробовала подступаться к этому делу, и пока миграция не очень получается((( за следующую неделю постараюсь дожать, но в целом не удивляйтесь и отнеситесь, пожалуйста, с пониманием, если будут возникать проблемы. Например, в четверг поломалась именно с этой ошибкой обработка pdf-файлов, а вчера в ночи pdf-ку спокойно отработал. Почему так — не знаю и не чувствую сил погружаться прям сильно подробно, но ценный урок извлекла: таких глубоких привязок к библиотекам, специфическим для конкретной LLM-ки нужно как-то пытаться избегать.
Мытарства этой недели и очевидность мучений недели грядущей позволяют мне решительно посмотреть сегодня 2-3-4 серии Отчаянных домохозяек. И вам тоже хороших выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍3👏1
Новая неделя, новый обзор новой статьи в рамках нового цикла #rise_of_RAG!
Хоть некоторые уже и похоронили RAG, убитый агентами, моё внутреннее убеждение не позволяет с этим соглашаться и сходить с этого направления ресерча, только на него встав. Поэтому предлагаю вам к чтению за обедом колонку с интригующим названием «Document-Level Retrieval Mismatch: ищем иголку в стоге плоских чанков».
Разбираемся, так ли мёртв плоский RAG применительно к юридическим задачам, попутно раскладывая в голове, что такое precision и recall, а также причем тут le sac в зубах у ретривера. Помимо пересказа статьи произвела также собственное интеллектуальное усилие, направленное на дальнейшую сборку методологии создания RAG-систем, проанализировав, при каких обстоятельствах и для каких задач придуманный авторами метод улучшения плоских RAGов может хорошо сработать.
Буду рада вашим комментариям и идеям, в том числе и скепсису и подсказкам: вдруг кто-то уже это давно умеет-практикует и сам додумался!☕️
Хоть некоторые уже и похоронили RAG, убитый агентами, моё внутреннее убеждение не позволяет с этим соглашаться и сходить с этого направления ресерча, только на него встав. Поэтому предлагаю вам к чтению за обедом колонку с интригующим названием «Document-Level Retrieval Mismatch: ищем иголку в стоге плоских чанков».
Разбираемся, так ли мёртв плоский RAG применительно к юридическим задачам, попутно раскладывая в голове, что такое precision и recall, а также причем тут le sac в зубах у ретривера. Помимо пересказа статьи произвела также собственное интеллектуальное усилие, направленное на дальнейшую сборку методологии создания RAG-систем, проанализировав, при каких обстоятельствах и для каких задач придуманный авторами метод улучшения плоских RAGов может хорошо сработать.
Буду рада вашим комментариям и идеям, в том числе и скепсису и подсказкам: вдруг кто-то уже это давно умеет-практикует и сам додумался!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤3
Я запустила бот 29 июля, то есть ему уже три месяца. Квартал! 🥺
Напрашивается подведение каких-то итогов, и, кажется, эта фотография очень красноречиво показывает проделанный путь.
Думала ли я, устанавливая на компьютер python в июне, что это приведет меня в переговорку под названием python в офисе HeadHunter? Обсуждали с Юрием Донниковым и его коллегами, как бот может быть полезен их работе с рекламой. Мне очень ценно, что в моём проекте-малыше видят потенциал и пользу такие сильные юридические команды.
Думала ли я, что выбрав самую понятную для себя точку входа в создание RAG-систем, попаду в какую-то востребованную нишу, в которой пытаются что-то делать и ИТ-гиганты, и независимые DIYщики, и крупные корпорации? Мысли были кардинально другими :)
Обновляла лендинг проекта впервые с создания 23 сентября. Даже уже за месяц многое изменилось и в метриках, и в функционале, идей по развитию стало еще больше.
Поэтому кажется, что три месяца — уже довольно приличный срок, в котором можно выступить с «тостом»🥂 Хочу сказать спасибо большое всем пользователям, подписчикам, всем, кто поддержал на старте, рассказывал о боте, всем, кто видит перспективу и хочет работать вместе. 🌟 🫂
Радуюсь, но не расслабляюсь, работы еще много!
#ботоводство
Напрашивается подведение каких-то итогов, и, кажется, эта фотография очень красноречиво показывает проделанный путь.
Думала ли я, устанавливая на компьютер python в июне, что это приведет меня в переговорку под названием python в офисе HeadHunter? Обсуждали с Юрием Донниковым и его коллегами, как бот может быть полезен их работе с рекламой. Мне очень ценно, что в моём проекте-малыше видят потенциал и пользу такие сильные юридические команды.
Думала ли я, что выбрав самую понятную для себя точку входа в создание RAG-систем, попаду в какую-то востребованную нишу, в которой пытаются что-то делать и ИТ-гиганты, и независимые DIYщики, и крупные корпорации? Мысли были кардинально другими :)
Обновляла лендинг проекта впервые с создания 23 сентября. Даже уже за месяц многое изменилось и в метриках, и в функционале, идей по развитию стало еще больше.
Поэтому кажется, что три месяца — уже довольно приличный срок, в котором можно выступить с «тостом»
Радуюсь, но не расслабляюсь, работы еще много!
#ботоводство
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍12❤9
Только я села писать предпоследний пост о моём RAG-пайплайне #делайRAG, а именно о создании корпуса эмбеддингов, как подумала: технически это самый простой этап, хоть за ним и стоит вся магия, и писать там в сущности нечего. Точнее с одной стороны нечего, с другой стороны даже это «нечего» проще всего вообще _не_ понять. И разве это не хороший хороший повод наконец уже рассказать подробнее о RAG как о технологии? Должен же в канале с соответствующим названием хотя бы на четвертый месяц появиться пост о том, да кто такой этот ваш RAG?
Рассудила я так, и начала писать всё, что знаю, будучи уверенной, что получится коротко, быстро, ещё и про ботовский корпус эмбеддингов останется рассказать. Но что-то пошло не так, поэтому держите новый телеграф: everybody talks about RAG✌️
В нем схемы всякие, майндмап вот есть. Собственно все написанные на майндмапе слова в колонке и обсуждаются. Она действительно базированная: там информация для совсем новичков или для тех, кто в целом понимает суть технологии, но сильно глубоко в детали не погружался. Я старалась писать понятно без сложной математики (потому что я всё равно сама математику не понимаю), но не могу сказать, что текст получился прям совсем разжёванным, некоторое интеллектуальное напряжение можно и испытать (совсем простой вариант в КАРТОЧКАХ хочу тоже сделать). Зато после этого текста точно будет понятно всё и про пайплайн, и про предыдущие лонгриды, которые #rise_of_RAG, да и вообще многое в устройстве вселенной и нашем месте в ней .
Я знаю, что и на русском языке материалов по этой теме хватает, но мне хотелось написать что-то адаптированное для юристов, да и собственные познания в одном месте сложить (говоря по правде, для этого текста я выясняла некоторые вещи для себя впервые, например, как всё-таки эмбеддинговые модели делают эмбеддинги, и каким таким колдунством при векторизации сохраняется смысл).
Поэтому, коллеги, надеюсь, что это будет полезно — шерьте с другими интересующимися, отвлекайтесь от дел в короткую рабочую неделю, задавайте вопросы, на эту тему я всегда рада поболтать☕️
Рассудила я так, и начала писать всё, что знаю, будучи уверенной, что получится коротко, быстро, ещё и про ботовский корпус эмбеддингов останется рассказать. Но что-то пошло не так, поэтому держите новый телеграф: everybody talks about RAG
В нем схемы всякие, майндмап вот есть. Собственно все написанные на майндмапе слова в колонке и обсуждаются. Она действительно базированная: там информация для совсем новичков или для тех, кто в целом понимает суть технологии, но сильно глубоко в детали не погружался. Я старалась писать понятно без сложной математики (потому что я всё равно сама математику не понимаю), но не могу сказать, что текст получился прям совсем разжёванным, некоторое интеллектуальное напряжение можно и испытать (совсем простой вариант в КАРТОЧКАХ хочу тоже сделать). Зато после этого текста точно будет понятно всё и про пайплайн, и про предыдущие лонгриды, которые #rise_of_RAG
Я знаю, что и на русском языке материалов по этой теме хватает, но мне хотелось написать что-то адаптированное для юристов, да и собственные познания в одном месте сложить (говоря по правде, для этого текста я выясняла некоторые вещи для себя впервые, например, как всё-таки эмбеддинговые модели делают эмбеддинги, и каким таким колдунством при векторизации сохраняется смысл).
Поэтому, коллеги, надеюсь, что это будет полезно — шерьте с другими интересующимися, отвлекайтесь от дел в короткую рабочую неделю, задавайте вопросы, на эту тему я всегда рада поболтать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤9👏1
Всем привет, почувствовала urge рассказать всякие новости! ☕️ #ботоводство
🤩 Свой недавний лонгрид я вынесла на Хабр. Страшно? Очень страшно! 😵 Когда интерфейс спрашивал меня, уверена ли я, что хочу опубликовать, я была очень не уверена. Там уже две закладки кто-то поставил даже.
Не знаю, есть ли у меня подписчики с профилями на Хабре, если есть кто, и у вас завалялся плюсик — поделитесь, пожалуйста! Самый последний «базированный» лонгрид про RAG тоже планирую вынести на не менее строгую публику zakon.ru, но юристов я боюсь меньше айтишников.
🤩 Если вам было интересно, в какой момент начинают приходить спам-боты в комменты каналов — примерно с 250 подписчиков. Стабильно раз в день удаляю из комментов предложение подзаработать. С глубокомысленными мыслями, что кто-то на моём блоге может заработать, но это не я.
🤩 Количество уникальных пользователей бота стало как-то быстро расти, близимся к уверенным двум сотням. Меня всегда забавляло, что на канале подписчиков намного больше, чем пользователей у продукта, которому канал посвящен. Но, кажется, скоро сравняемся!
🤩 Я в стадии максимальной готовности выкладывания в open-source датасета с размеченной практикой ФАС, а потом еще и кое-какие новости в связи с этим воспоследуют. И в стадии абсолютной неготовности миграции на актуальную genai библиотеку, это новое поле прокрастинации.
🤩 Google сделала инструмент для быстрого и весёлого создания RAGов File Search. Новость хорошая, не угнетающая. Наверное. Не решила пока. Поизучала документацию, вот мои выводы по ней:
В общем очень здорово, очень круто, и главное, что есть на чём попробовать, что-нибудь еще про это напишу. Счастлива наконец написать пост, который влазит в лимиты одного поста👍
Не знаю, есть ли у меня подписчики с профилями на Хабре, если есть кто, и у вас завалялся плюсик — поделитесь, пожалуйста! Самый последний «базированный» лонгрид про RAG тоже планирую вынести на не менее строгую публику zakon.ru, но юристов я боюсь меньше айтишников.
⁃ обещают автоматический чанкинг просто по загруженным документам. Технику чанкинга не раскрывают, но дают возможность самим указывать количество токенов на чанк и оверлэп (это сколько токенов могут пересекаться в соседних чанках). Более тонкой настройки нет.
⁃ ваш оригинальный файл, загруженный в этот инструмент, удаляется через 48 часов. дальше хранятся только эмбеддинги в т.н. пространстве file search store — видимо, это такая как бы векторная БД. вот они уже хранятся бесконечно долго в связке с вашим проектом на google cloud. Параметры хранения следующие (довольно щедро и бесплатно):
• Количество хранилищ (stores) на проект: 100
• Максимальный размер одного хранилища: 10 ГБ
• Максимальное количество файлов в одном хранилище: 1 000 000
• Максимальный размер одного файла: 512 МБ
• Количество файлов в одном запросе на загрузку: 100
⁃ хранятся еще и метаданные, обеспечивающие цитирование и более высокую точность поиска. Метаданные можно делать как для всего файла (но это делается однократно при загрузке), так и для чанков (для этого надо заранее готовить jsonы с метками). С помощью метаданных может быть реализован SAC-метод, о котором писала недавно.
В общем очень здорово, очень круто, и главное, что есть на чём попробовать, что-нибудь еще про это напишу. Счастлива наконец написать пост, который влазит в лимиты одного поста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤10🔥5👏1
Кто видел предыдущий пост — пардон 😊 вот правильный! Со спокойной душой можно теперь написать про последний этап пайплайна — и пока еще не разойтись, есть несколько общих идей и накопленная за прошедшие месяцы рефлексия о том, какие в воронке минусы, и как её можно менять.
Итак, последний этап #делайRAG — сборка корпуса эмбеддингов. Он делится на 2 основных сущностных шага — подготовку «чанков», то есть текстов, которые и будут превращаться в эмбеддинги, и само превращение в эмбеддинги, то есть векторизацию.
🤩 Чанки
Обычно под чанками понимаются части документов, имеющие определенную длину (в символах или токенах). Но поскольку я делала RAG для бота по наитию, я не знала, что по классике чанкуются именно тексты. Я пошла по пути изготовления (на этапе разметки) резюме решений нейросетью. И именно резюме отправляются на векторизацию (я схлопываю в один текст содержимое двух колонок из волшебной csv-таблицы, но каких именно — не скажу. Ибо близится датасет, и кто захочет повторить, то будет свободен в своих экспериментах).
Я и сейчас думаю, что, учитывая характер исходного материала, это правильный путь: УФАС в решениях пишут много не несущих никакой (для моей задачи) ценности заклинаний, повторяют одно и то же, что просто нарезка текста решения на чанки блага не сделает.
Эту операцию скрипт проделывает моментально без моего особого участия.
🤩 Эмбеддинги
Далее код пайплайна обращается по API к эмбеддинговой модели (сейчас у Gemini она одна -
Если возникает необходимость корпус эмбеддингов расширить, то имеющиеся векторы не пересчитываются, так как уже обработанные записываются в кэш. Полностью пересчитать пришлось один раз, когда переезжала на другую эбеддинговую модель (на ранее упомянутую, её представили месяц назад).
Я делаю эмбеддинги 768 размерности и использую float64, то есть каждое число в эмбеддинге весит 8 байт: это как бы обеспечивает более высокую точность семантического подбора. Наверное. Я верю на слово всему, что мне говорят нейронки по этому вопросу🙂
Вот и всё!
1️⃣ пользователь вводит в боте запрос или грузит картинку, скрипт обрабатывает текст или описывает текстом картинку;
2️⃣ полученный текст тоже становится эмбеддингом с помощью той же самой эмбеддинговой модели (корпус эмбеддингов и входящие эмбеддинги должны делаться одной и той же моделькой из-за используемых ими таблиц токенизации);
3️⃣ для эмбеддинга запроса косинусным сходством высчитываются топ-10 наиболее похожих эмбеддингов;
4️⃣ топ-10 эмбеддингов откатываются обратно в текст и вставляются в шаблон промпта для нейросети;
5️⃣ нейросеть готовит заключение с учетом того, что нашлось эмбеддинговым поиском, цитирует релевантный кейс в заключении.
И здесь уместно рассказать, что я предпринимаю для повышения точности отбора (a.k.a костыли):
🤩 предобработка креатива — при обработке входящего текста или подготовке описания выкидывается все, что может «зашумить» эмбеддинговый поиск (часы работы, номера телефонов, сайты, всевозможные идентификаторы и т.п.);
🤩 нейросети дается задача критично относиться к тому, что притащено из RAG, и если действительно релевантного кейса нет, то не обращать на них внимания.
Знаю-знаю, не очень впечатляет, и можно и лучше. Техники есть (о них скоро будет новый #rise_of_RAG). И у меня еще с самого начала появилась идея делать привязку к тематическим тегам (о них здесь), то есть этакий гибрид с фильтром по ключевым словам, который активируется не сразу, а после первого эмбеддингового отбора. Очень хочу постараться до Нового года всё таки его реализовать🎅
Итак, последний этап #делайRAG — сборка корпуса эмбеддингов. Он делится на 2 основных сущностных шага — подготовку «чанков», то есть текстов, которые и будут превращаться в эмбеддинги, и само превращение в эмбеддинги, то есть векторизацию.
Обычно под чанками понимаются части документов, имеющие определенную длину (в символах или токенах). Но поскольку я делала RAG для бота по наитию, я не знала, что по классике чанкуются именно тексты. Я пошла по пути изготовления (на этапе разметки) резюме решений нейросетью. И именно резюме отправляются на векторизацию (я схлопываю в один текст содержимое двух колонок из волшебной csv-таблицы, но каких именно — не скажу. Ибо близится датасет, и кто захочет повторить, то будет свободен в своих экспериментах).
Я и сейчас думаю, что, учитывая характер исходного материала, это правильный путь: УФАС в решениях пишут много не несущих никакой (для моей задачи) ценности заклинаний, повторяют одно и то же, что просто нарезка текста решения на чанки блага не сделает.
Эту операцию скрипт проделывает моментально без моего особого участия.
Далее код пайплайна обращается по API к эмбеддинговой модели (сейчас у Gemini она одна -
gemini-embedding-001), по очереди векторизует каждый чанк, и все получившиеся координаты собирает в один файл формата NumPy. Кто читал лонгрид про RAG, тот в курсе, что RAGи вполне могут быть реализованы не в виде векторной базы данных, а просто вот таким массивом чисел. Учитывая мой объем (менее 2000 решений, в перспективе не более 3000), этого более, чем достаточно. Если возникает необходимость корпус эмбеддингов расширить, то имеющиеся векторы не пересчитываются, так как уже обработанные записываются в кэш. Полностью пересчитать пришлось один раз, когда переезжала на другую эбеддинговую модель (на ранее упомянутую, её представили месяц назад).
Я делаю эмбеддинги 768 размерности и использую float64, то есть каждое число в эмбеддинге весит 8 байт: это как бы обеспечивает более высокую точность семантического подбора. Наверное. Я верю на слово всему, что мне говорят нейронки по этому вопросу
Вот и всё!
RAG.csv и корпус эмбеддингов в .npy в паре представляют собой RAG. Коротко напомню, что происходит дальше (или чем занимается код в backend_logic.py): И здесь уместно рассказать, что я предпринимаю для повышения точности отбора (a.k.a костыли):
Знаю-знаю, не очень впечатляет, и можно и лучше. Техники есть (о них скоро будет новый #rise_of_RAG). И у меня еще с самого начала появилась идея делать привязку к тематическим тегам (о них здесь), то есть этакий гибрид с фильтром по ключевым словам, который активируется не сразу, а после первого эмбеддингового отбора. Очень хочу постараться до Нового года всё таки его реализовать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥6👍4
README_Датасет_решений_ФАС_России_по_рекламным_делам.pdf
439.4 KB
Большая новость! 😐 Я опубликовала датасет с размеченной практикой ФАС по рекламным делам!
Это не RAG-база для бота, это лучше! Это более 7 тысяч дел с начала 2019-го года по ноябрь 2025 вообще всех категорий, собранных в одну большую аналитическую таблицу. Подробнее о том, что это и для чего читайте в приложенном readme.
Ссылки:
🤩 HuggingFace (для скачивания отсюда может потребоваться использование сервисов на три буквы)
🤩 Zenodo (с DOI ✌️ 10.5281/zenodo.17599224)
Как пользоваться этой таблицей юристам?
Пока в меру своего разумения и умения пользоваться Excel (csv-формат прочитывается именно в нем). В планах создание удобного и продвинутого поискового интерфейса, но об этом, надеюсь, будут другие новости (с предложением высказаться о своих пожеланиях к интерфейсу, возможно даже).
Но возможности датасета в виде всякой интересной аналитики, статистики и кластеризации я буду постепенно показывать — это будет новый branch в моей нежно любимой рубрике #мудростьФАС. Для затравки пока сообщу, например, что из представленных 7283 дел ФАС обнаружила факт нарушения в 98,8% случаев.
Я не знаю, найдет ли отклик в текущем виде (без поискового интерфейса) датасет у кого-то, но это было, пожалуй, одно из самых интересных занятий в связи с ботом, и я горжусь проделанной работой😀
Это не RAG-база для бота, это лучше! Это более 7 тысяч дел с начала 2019-го года по ноябрь 2025 вообще всех категорий, собранных в одну большую аналитическую таблицу. Подробнее о том, что это и для чего читайте в приложенном readme.
Ссылки:
Как пользоваться этой таблицей юристам?
Пока в меру своего разумения и умения пользоваться Excel (csv-формат прочитывается именно в нем). В планах создание удобного и продвинутого поискового интерфейса, но об этом, надеюсь, будут другие новости (с предложением высказаться о своих пожеланиях к интерфейсу, возможно даже).
Но возможности датасета в виде всякой интересной аналитики, статистики и кластеризации я буду постепенно показывать — это будет новый branch в моей нежно любимой рубрике #мудростьФАС. Для затравки пока сообщу, например, что из представленных 7283 дел ФАС обнаружила факт нарушения в 98,8% случаев.
Я не знаю, найдет ли отклик в текущем виде (без поискового интерфейса) датасет у кого-то, но это было, пожалуй, одно из самых интересных занятий в связи с ботом, и я горжусь проделанной работой
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥31👍12
Всем привет! Сейчас, к моему большому сожалению, у меня очень мало времени на более содержательные публикации, но я вижу, как на канал приходят новые подписчики. Я очень всем рада!
Важные ресурсе о боте:
Пост будет пополняться.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
everybody talks about RAG
Я уже больше трёх месяцев время веду Telegram-канал с названием «Делай RAG», в нём есть даже целая серия постов c одноимённым хэштегом о моём непосредственном опыте создания небольшой RAG-системы для бота-проверщика рекламы. Но всё ещё не было ни одного базового…
👍11🔥5❤4
Заключительный пост о #делайRAG-пайплайне формирования базы знаний для бота. До этого я рассказывала о самом процессе наполнения базы, а здесь будет немного об организации и эффективности этой работы. Этот пост и все предыдущие для удобства собрала в одном длиннющем Телеграфе.
Почему воронка — это воронка
Всё просто — на каждом этапе воронки что-то отсекается: из-за особенностей ведения базы самой ФАС и моих представление о том, каким должен быть RAG для бота. На картинке анализ «потерь». Итоговая эффективность пайплайна, то есть процент ссылок, ставших знаниями в базе, 19.89%.
Технические особенности пайплайна
В пайплайне много технических фич, призванных делать его многоразовым и оптимизированным. Например, есть механизме «изоляции запусков» или сессий.
В коде есть переменная
Также есть логика кэширования, чтобы не тратить лишнее время на проходы скрапера и деньги на API-запросы. Кэширование реализовано в виде:
🤩 логгера, записывающего все ссылки, по которым скрапер когда-либо ходил;
🤩 логики проверки наличия JSONа с нужным docID (если JSON есть, значит решение уже было размечено);
🤩 специального кэша для корпуса эмбеддингов, чтобы перезаписывать корпус.
Всё это работает и на отказоустойчивость — если падает соединение с Интернетом или какие-то проблемы на стороне Gemini API. Также из кэширования вырастает логика прогона скрапера по тем ссылкам, на которых он был раньше, но не нашёл решения — вдруг решение появилось, и его можно скачать и далее отправить на разметку.
Да как вообще этот пайплайн выглядит, это какая-то программа?
Это ноутбук (файл в формате
В ноутбуках код поделен на ячейки, и выполняя каждую ячейку, ты сразу видишь результат ее работы в виде отчётов о выполнении.
Ноутбук в варианте последнего прогона ячеек можно послать кому-то, кто откроет его в своём Юпитере и увидит все те же отчёты (или прямо в нейросети, почти все читают
Но! Нюанс использования ноутбука в том, что надо хорошо понимать, какие ячейки с какими у тебя связаны — если не запустишь ячейку с импортами библиотек или активацией API-ключа, то другая нужная ячейка не заработает. А если Юпитер вылетел посреди скрапинга, то вылетает и вся история с сессиями, потому что переменная
Если есть идеи, как можно реализовать пайплайн в более удобном виде — просветите, пожалуйста.
Что еще можно было бы исправить и добавить?
За несколько месяцев работы по наполнению базы несколько раз менялись параметры разметки и скриптованных добавлений в JSONы, которые возвращает нейросеть. Пару раз менялся промпт для разметки. И, собирая датасет, я споткнулась на том, что JSONы получились неоднородные, и их нужно было дополнительно унифицировать.
То есть для текущей версии пайплайна напрашивается какой-то механизм версионирования промпта. И вообще, кажется, нужно ветвить пайплайн на работу ещё и с датасетом, ведь его тоже нужно будет пополнять и дальше.
На этом всё! Спасибо всем, кто читал об этой моей работе. Для меня она оказалась одной из самых интересных в рамках всего проекта. И пусть процесс и неидеален, опыт получился совершенно бесценный.
Почему воронка — это воронка
Всё просто — на каждом этапе воронки что-то отсекается: из-за особенностей ведения базы самой ФАС и моих представление о том, каким должен быть RAG для бота. На картинке анализ «потерь». Итоговая эффективность пайплайна, то есть процент ссылок, ставших знаниями в базе, 19.89%.
Технические особенности пайплайна
В пайплайне много технических фич, призванных делать его многоразовым и оптимизированным. Например, есть механизме «изоляции запусков» или сессий.
В коде есть переменная
CURRENT_SESSION, и при каждом запуске скрапера этой переменной присваивается уникальный ID, который дописывается в JSON, возвращаемый нейросетью после разметки. Таблица, которую я отсматриваю, собирается с учетом этих ID, чтобы в неё не попадало то, что я уже видела. Также есть логика кэширования, чтобы не тратить лишнее время на проходы скрапера и деньги на API-запросы. Кэширование реализовано в виде:
Всё это работает и на отказоустойчивость — если падает соединение с Интернетом или какие-то проблемы на стороне Gemini API. Также из кэширования вырастает логика прогона скрапера по тем ссылкам, на которых он был раньше, но не нашёл решения — вдруг решение появилось, и его можно скачать и далее отправить на разметку.
Да как вообще этот пайплайн выглядит, это какая-то программа?
Это ноутбук (файл в формате
.ipynb) в среде Jupyter Lab. Это не совсем IDE (Integrated Development Environment типа VS Code), в которой делаются приложения. У меня особый вайб-кодерский путь, и я использую именно ноутбуки. В ноутбуках код поделен на ячейки, и выполняя каждую ячейку, ты сразу видишь результат ее работы в виде отчётов о выполнении.
Ноутбук в варианте последнего прогона ячеек можно послать кому-то, кто откроет его в своём Юпитере и увидит все те же отчёты (или прямо в нейросети, почти все читают
.ipynb). Ноутбуки подходят для анализа данных, если вам не нужен непременно какой-то интерфейс. И, как мне кажется, формат хорошо подходит для пайплайна — это сильно проще, чем делать программный интерфейс. Можно быть достаточно гибкой в том, чтобы быстро добавить «аварийные» или аналитические ячейки. Но! Нюанс использования ноутбука в том, что надо хорошо понимать, какие ячейки с какими у тебя связаны — если не запустишь ячейку с импортами библиотек или активацией API-ключа, то другая нужная ячейка не заработает. А если Юпитер вылетел посреди скрапинга, то вылетает и вся история с сессиями, потому что переменная
CURRENT_SESSION живет только в памяти. Чем больше ячеек — тем более тормозной ноутбук. И всё в таком духе. Если есть идеи, как можно реализовать пайплайн в более удобном виде — просветите, пожалуйста.
Что еще можно было бы исправить и добавить?
За несколько месяцев работы по наполнению базы несколько раз менялись параметры разметки и скриптованных добавлений в JSONы, которые возвращает нейросеть. Пару раз менялся промпт для разметки. И, собирая датасет, я споткнулась на том, что JSONы получились неоднородные, и их нужно было дополнительно унифицировать.
То есть для текущей версии пайплайна напрашивается какой-то механизм версионирования промпта. И вообще, кажется, нужно ветвить пайплайн на работу ещё и с датасетом, ведь его тоже нужно будет пополнять и дальше.
На этом всё! Спасибо всем, кто читал об этой моей работе. Для меня она оказалась одной из самых интересных в рамках всего проекта. И пусть процесс и неидеален, опыт получился совершенно бесценный.
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤9🔥7 1
Готовлюсь в рамках курса Мурата Мазукова поделиться своим опытом вайб-кодинга, а также пережив (это наиболее подходящее слово, да) недавно создание еще одного секретного MVP, стала особенно восприимчива к этой теме. А еще и в последнее время многие мои коллеги-юристы и добрые друзья канала вывели в свет или напомнили о существовании своих замечательных навайбкоженных проектов, и мне очень захотелось о них здесь рассказать и, может быть, вдохновить кого-то из читателей на маленький подвиг. Может, вдохновлю настолько, что сложится целая традиция!
Сегодня тогда будет пост о том, как юристы сделали что-то очень классное не-юридическое или около-юридическое.
🏭 Александр, активный участник чата Нейросети | ilovedocs, активно поддерживающий и меня в моих ресерчах здесь на канале, сделал залипательную мини-игрушку, симулирующую управление ТЭЦ — ТЭЦ на триллион (актуалочка с невнятной московской погодой).
Я очень люблю вот такие системки, в которых есть разные балансирующие друг друга переменные, где нужно и глобальную стратегию держать в уме, и заниматься микроменджментом. Одна из моих любимых игр — Fallout Shelter, а примерно всю жизнь я every once in while играю в Sims 2. В общем, люблю тушить виртуальные пожары.
Надеюсь, у Александра получится и в магазины приложений игрушку довести, если ему захочется продолжить. И может Александр, если увидит пост, расскажет в комментах, чем вайбкодил и насколько долго!
🤑 Глеб и его товарищ Алексей, авторы канала «Технологии для юриста», сделали биллинг-бота. Отличной и гениальной в простоте идеей кажется кнопками «старт» и «стоп» фиксировать потраченное на задачу время. Телеграмом пользуются постоянно и все, привязки к компьютеру нет, и, кажется, с таким подходом забыть что-то забиллить просто нереально (особенно если закрепить бота рядом с любимым каналом с мемами).
Особенно классно, что ребята делали первые версии кода в Perplexity — я пока больше ни от кого не слышала, что кодили там, хотя почему бы и нет. Кодили, причем, в соответствии с лучшими, как я считаю, практиками предварительного планирования архитектуры (я лично сильно не сразу додумалась так делать — об этом скоро в канале, кстати, что-то будет…).
Ребята ищут тестировщиков, связаться с ними можно через канал. Канал-новостник, и мне очень по душе чувствуемая в нем системность ведения и выверенность стилистики (парни, признавайтесь, кто из вас дева по ЗЗ). Кстати, в канале, если немного покопаться в прошлых постах, даже можно найти меня😇
🫥 Григорий, открывший в рамках курса Рунетлекс Академии мне глаза на тот факт, что юристы зачем-то могут что-то кодить, делал Тест «Lawyer / Not Lawyer». Сделан на java noscript и с авторской методологией, большим деревом результатов. Я с результатами конечно же согласилась, ведь тест отправил меня буквально сразу же в ильфы и четвёрки. А ещё посылала его своей приятельнице — перспективной актрисе, и тест совершенно точно понял, что ей юристом быть мягко говоря не подходит.
У Гриши тоже есть канал. А ещё у Гриши есть курс в, полагаю, тоже навайбкоженной обёртке.
В общем, мораль получается какая-то такая, что возможность кодить нейросетями очень развязывает нам руки в том, чтобы делать какие-то вещи и для души, и для дела. И начать никогда не поздно (а бросить всегда можно успеть😏 )
Сегодня тогда будет пост о том, как юристы сделали что-то очень классное не-юридическое или около-юридическое.
🏭 Александр, активный участник чата Нейросети | ilovedocs, активно поддерживающий и меня в моих ресерчах здесь на канале, сделал залипательную мини-игрушку, симулирующую управление ТЭЦ — ТЭЦ на триллион (актуалочка с невнятной московской погодой).
Я очень люблю вот такие системки, в которых есть разные балансирующие друг друга переменные, где нужно и глобальную стратегию держать в уме, и заниматься микроменджментом. Одна из моих любимых игр — Fallout Shelter, а примерно всю жизнь я every once in while играю в Sims 2. В общем, люблю тушить виртуальные пожары.
Надеюсь, у Александра получится и в магазины приложений игрушку довести, если ему захочется продолжить. И может Александр, если увидит пост, расскажет в комментах, чем вайбкодил и насколько долго!
Особенно классно, что ребята делали первые версии кода в Perplexity — я пока больше ни от кого не слышала, что кодили там, хотя почему бы и нет. Кодили, причем, в соответствии с лучшими, как я считаю, практиками предварительного планирования архитектуры (я лично сильно не сразу додумалась так делать — об этом скоро в канале, кстати, что-то будет…).
Ребята ищут тестировщиков, связаться с ними можно через канал. Канал-новостник, и мне очень по душе чувствуемая в нем системность ведения и выверенность стилистики (парни, признавайтесь, кто из вас дева по ЗЗ). Кстати, в канале, если немного покопаться в прошлых постах, даже можно найти меня
У Гриши тоже есть канал. А ещё у Гриши есть курс в, полагаю, тоже навайбкоженной обёртке.
В общем, мораль получается какая-то такая, что возможность кодить нейросетями очень развязывает нам руки в том, чтобы делать какие-то вещи и для души, и для дела. И начать никогда не поздно (а бросить всегда можно успеть
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥8👍5
Очень мне хотелось делать #RAG_expansion раз в месяц, а в ноябре времени было сильно меньше, чем раньше, поэтому влетаю в последний вагон! Настолько последний, что я заливала маленький, но гордый батч изменений вчера в аэропорту за час до вылета в отпуск.
В общем! Теперь в базе1⃣ 9⃣ 0⃣ 3⃣ кейса, охват с начала 2019-го по середину ноября 2025. То есть как в датасете, который, к слову, скачали уже ровно 100 раз на обеих площадках.
Я очень долго ехала к месту своего откисания, спав при этом очень мало, и поэтому это будет, возможно, самый короткий пост в канале🤦♀️
Пользуясь случаем, хочу поздравить своих подписчиц-мам с Днем матери! И свою родную маму, очень меня поддерживающую во всех моих начинаниях, за которыми вы здесь следите, тоже еще раз поздравляю и крепко обнимаю!❤️
В общем! Теперь в базе
Я очень долго ехала к месту своего откисания, спав при этом очень мало, и поэтому это будет, возможно, самый короткий пост в канале
Пользуясь случаем, хочу поздравить своих подписчиц-мам с Днем матери! И свою родную маму, очень меня поддерживающую во всех моих начинаниях, за которыми вы здесь следите, тоже еще раз поздравляю и крепко обнимаю!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥9👏2
Как_испытать_от_вайб_кодинга_радость.pdf
10.8 MB
Всем привет! Я сегодня с материалом, который мне было очень радостно составлять, и, который, как я надеюсь, окажется кому-то полезным. В нём собраны не иначе как выстраданные мной методы кодинга с нейросетями, он же вайб-кодинг, он же AI-assisted кодинг (хотя в нашем случае AI, конечно, не ассистент, а ломовая лошадь).
Постаралась описать подход, которого я НЕ придерживалась когда делала бота, но стала придерживаться сейчас и видеть, насколько проще и радостнее удаётся что-то сделать. Сделать что-то, очень похожее на полноценные продукты.
Интересно, что у Валентина Микляева вчера вышел пост прямо в руку — Валентин рассуждал о том, что вайб-кодинг не убьёт толково организованную продуктовую разработку, потому что для создания продуктов нужно решать много дополнительных «бизнесовых» задач. Подход, который я предлагаю в этой материале, в принципе воспринял бизнесовые практики: при создании даже самой простой программы нужно следовать этапам жизненного цикла продукта. Это эффективнее, сильно упрощает жизнь и застрахует от выгорания и отвращения ко всему этому кодингу с нейронками.
Моё мнение в целом таково, что вайб-кодинг не должен быть про заработок в прямом смысле (навайбкодил штуку — коммерциализирую его). Он про что-то другое, про помощь себе, сообществу или для pet-проектов для души с не очень высокой степенью ответственности за результат. Что-то серьёзное нужно делать с нормальными девелоперами либо, если вы достаточно амбициозны, придётся преодолевать гораздо больше препятствий, чем просто «я устал дебажить» (и Валентин в посте даёт очень хорошие подсказки, о чём нужно подумать в первую очередь, если вы вайб-кодинге увидели золотую жилу).
Возвращаясь к этой моей методичке-мануалу-or whatever you call it: я буду рада вашей обратной связи, как и о ваших идеях, как можно еще улучшить предлагаемый метод, или рассказам, как вы, возможно, интегрировали в свои практики то, что я предлагаю, и что у вас поэтому получилось. Отличных выходных!)
Постаралась описать подход, которого я НЕ придерживалась когда делала бота, но стала придерживаться сейчас и видеть, насколько проще и радостнее удаётся что-то сделать. Сделать что-то, очень похожее на полноценные продукты.
Интересно, что у Валентина Микляева вчера вышел пост прямо в руку — Валентин рассуждал о том, что вайб-кодинг не убьёт толково организованную продуктовую разработку, потому что для создания продуктов нужно решать много дополнительных «бизнесовых» задач. Подход, который я предлагаю в этой материале, в принципе воспринял бизнесовые практики: при создании даже самой простой программы нужно следовать этапам жизненного цикла продукта. Это эффективнее, сильно упрощает жизнь и застрахует от выгорания и отвращения ко всему этому кодингу с нейронками.
Моё мнение в целом таково, что вайб-кодинг не должен быть про заработок в прямом смысле (навайбкодил штуку — коммерциализирую его). Он про что-то другое, про помощь себе, сообществу или для pet-проектов для души с не очень высокой степенью ответственности за результат. Что-то серьёзное нужно делать с нормальными девелоперами либо, если вы достаточно амбициозны, придётся преодолевать гораздо больше препятствий, чем просто «я устал дебажить» (и Валентин в посте даёт очень хорошие подсказки, о чём нужно подумать в первую очередь, если вы вайб-кодинге увидели золотую жилу).
Возвращаясь к этой моей методичке-мануалу-or whatever you call it: я буду рада вашей обратной связи, как и о ваших идеях, как можно еще улучшить предлагаемый метод, или рассказам, как вы, возможно, интегрировали в свои практики то, что я предлагаю, и что у вас поэтому получилось. Отличных выходных!)
5🔥47❤16 4👍3
Дорогие коллеги, работающие с рекламой!
Этот пост — большая просьба к вам🙏
Когда я опубликовала новость о датасете с практикой ФАС по рекламе, я намекала на то, что ещё будут вести о создании для него поискового интерфейса.
Студенты магистратуры Цифровое право ВШЭ в рамках Хакатона, который у них часть учебной программы, будут делать поисковый интерфейс по датасету, да не простой, а интеллектуальный — с эмбеддинговым поиском. И с обычным тоже.
Очень надеюсь, что к началу февраля получится представить какой-то рабочий MVP! И прошу вас с этим помочь, а именно заполнить анкету-опросник, время заполнения — минут 5, а то и быстрее.
💃 💃 💃 ССЫЛКА 💃 💃 💃
И, конечно, перешлите её, пожалуйста, вашим коллегам-знакомым, соприкасающимся с рекламой! Необязательно даже юристам, а тем, кто вообще слышал, кто такая ФАС.
On the side note и уже для всех, а не только «рекламных» подписчиков — свой тот базовый пост про RAG в ещё более упрощённом виде поселился на zakon.ru. Если у вас там завалялся (или активно используется) аккаунт — буду рада вашему плюсику!Хабр принял меня гораздо теплее, мне что, уходить в айтишницы?
Хорошей всем рабочей недели☕️
Этот пост — большая просьба к вам
Когда я опубликовала новость о датасете с практикой ФАС по рекламе, я намекала на то, что ещё будут вести о создании для него поискового интерфейса.
Студенты магистратуры Цифровое право ВШЭ в рамках Хакатона, который у них часть учебной программы, будут делать поисковый интерфейс по датасету, да не простой, а интеллектуальный — с эмбеддинговым поиском. И с обычным тоже.
Очень надеюсь, что к началу февраля получится представить какой-то рабочий MVP! И прошу вас с этим помочь, а именно заполнить анкету-опросник, время заполнения — минут 5, а то и быстрее.
И, конечно, перешлите её, пожалуйста, вашим коллегам-знакомым, соприкасающимся с рекламой! Необязательно даже юристам, а тем, кто вообще слышал, кто такая ФАС.
On the side note и уже для всех, а не только «рекламных» подписчиков — свой тот базовый пост про RAG в ещё более упрощённом виде поселился на zakon.ru. Если у вас там завалялся (или активно используется) аккаунт — буду рада вашему плюсику!
Хорошей всем рабочей недели
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍5👌2
Не могу поверить, что вместо контента я, еще и на вновь пришедшую аудиторию, снова прошу заполнить какую-то форму… 💅
Это так обстоятельства предновогодние складываются!) и кое-что большое и интересное is cooking, не переключайтесь🙂
В общем, сообщество Нейросети | ilovedocs собрало в одну голосовалку родившиеся в этом году проекты от союза юристов и кодинга с нейросетями. Можно выбрать несколько нравящихся вам или оказавшихся нужными проектов вот по этой ссылке👈
Я смотрю на это как на повод узнать о каких-то классных уже сделанных коллегами инструментах или поделках для души. И в общем, это же одна из целей подобных премий — приподнять видимость таких пет-проектов. Описания и ссылки здесь.
Я там тоже есть(иначе появился ли бы этот пост на канале, мм? 😀 ) В описании бот, а по ссылке датасет, будем считать это двойным заходом))
Но голосовать я предлагаю по зову сердца и из искреннего желания поддержать братьев и сестёр по ваукодингу! Тем более, что в списке много ставших за прошедшие полгода мне добрыми приятелями авторов❤️
К слову приходится тотфактчто у датасета больше 130 скачиваний, у бота больше 300 уникальных пользователей, а что творится с подписками на канале — шок для меня! Еще и в рейтинге, который можно увидеть во всех юр.каналах, засветилась🫠 за что всем читающий этот пост говорю большое спасибо!
Это так обстоятельства предновогодние складываются!) и кое-что большое и интересное is cooking, не переключайтесь
В общем, сообщество Нейросети | ilovedocs собрало в одну голосовалку родившиеся в этом году проекты от союза юристов и кодинга с нейросетями. Можно выбрать несколько нравящихся вам или оказавшихся нужными проектов вот по этой ссылке
Я смотрю на это как на повод узнать о каких-то классных уже сделанных коллегами инструментах или поделках для души. И в общем, это же одна из целей подобных премий — приподнять видимость таких пет-проектов. Описания и ссылки здесь.
Я там тоже есть
Но голосовать я предлагаю по зову сердца и из искреннего желания поддержать братьев и сестёр по ваукодингу! Тем более, что в списке много ставших за прошедшие полгода мне добрыми приятелями авторов
К слову приходится тотфактчто у датасета больше 130 скачиваний, у бота больше 300 уникальных пользователей, а что творится с подписками на канале — шок для меня! Еще и в рейтинге, который можно увидеть во всех юр.каналах, засветилась
Please open Telegram to view this post
VIEW IN TELEGRAM
18❤16🔥6