Всем привет и спасибо за интерес к нашему небольшому pet-проекту! 🚶♀️
Чат-бот «А юристы смотрели?» с помощью нейросети, дополненной постоянно обновляющейся базой решений Федеральной антимонопольной службы по рекламным делам, помогает проверять рекламные креативы на соответствие ФЗ «О рекламе». Бот работает по технологии Retrieval-Augmented Generation (RAG, генерация, дополненная поиском): он ищет в базе знаний решения ФАС по креативам, максимально близким к загруженному вами. Это обеспечивает более точную и индивидуальную оценку рисков — как если бы ваш случай проверял юрист, постоянно отслеживающий практику ФАС.
Автор проекта и канала – Екатерина Якуненко😀 , юрист крупного фармацевтического холдинга с опытом более 6 лет.
Во время декретного отпуска я прошлавеликолепный 100/10 would recommend курс от Рунетлекс Академии по использованию нейросетей в работе юриста. Курс вдохновил меня создать полезный для своей работы нейросетевой инструмент (при помощи самих же нейросетей!).
Я много работала с ФЗ «О рекламе» и медиа-проектами и отлично понимаю, насколько сложно маркетологам и предпринимателям одновременно выделиться среди конкурентов, сэкономить бюджет…😐
Так на пересечении желания внедрить нейросети в свои рабочие задачи, попрактиковать так называемый вайб-кодинг, поработать с открытыми и легко добываемыми данными и принести пользу коллегам-юристам, родилась идея сделать бота-помощника. Но главным образом меня вдохновляла мысль о креативщике или малом предпринимателе, который после долгой работы над рекламой в последний момент вспоминает, что ее же не видели юристы. Так сформировалась главная цель проекта и само собой получилось название для бота.
В этом канале я планирую:
🤩 делиться во всех подробностях (в формате инструкций и рассказа о провалах) процессом созданием бота — от гипотез и работы с данными до продуктовой части и проблем на запуске;
🤩 разумеется, рассказывать об обновлениях (точек роста ОЧЕНЬ много!) и других новостях;
🤩 писать о самых забавных кейсах ФАС, которые мне попались при работе с базой знаний, и других кулстори, связанных с проектом.
Поэтому этот канал будет интересен юристам, энтузиастам ИИ и low-code разработки (и особенно тем, кто совмещает эти роли). Возможно, заинтересует и тех, кто следит за жизнью подобных pet-проектов, создаваемых людьми из, казалось бы, совсем других сфер.
Я надеюсь, что бот будет действительно полезен многим людям, и что он вырастет во что-то большее. Поэтому очень приветствую любую конструктивную критику, обратную связь о работе бота, поддержку и предложения о сотрудничестве!
Начать поддержку можно с того, чтобы поставить звездочку проекту на Github или бустануть канал☕️
Чат-бот «А юристы смотрели?» с помощью нейросети, дополненной постоянно обновляющейся базой решений Федеральной антимонопольной службы по рекламным делам, помогает проверять рекламные креативы на соответствие ФЗ «О рекламе». Бот работает по технологии Retrieval-Augmented Generation (RAG, генерация, дополненная поиском): он ищет в базе знаний решения ФАС по креативам, максимально близким к загруженному вами. Это обеспечивает более точную и индивидуальную оценку рисков — как если бы ваш случай проверял юрист, постоянно отслеживающий практику ФАС.
Автор проекта и канала – Екатерина Якуненко
Во время декретного отпуска я прошла
Я много работала с ФЗ «О рекламе» и медиа-проектами и отлично понимаю, насколько сложно маркетологам и предпринимателям одновременно выделиться среди конкурентов, сэкономить бюджет…
и не забыть получить одобрение юристов
, чьи многочисленные замечания иной раз вынуждают начинать процесс заново Так на пересечении желания внедрить нейросети в свои рабочие задачи, попрактиковать так называемый вайб-кодинг, поработать с открытыми и легко добываемыми данными и принести пользу коллегам-юристам, родилась идея сделать бота-помощника. Но главным образом меня вдохновляла мысль о креативщике или малом предпринимателе, который после долгой работы над рекламой в последний момент вспоминает, что ее же не видели юристы. Так сформировалась главная цель проекта и само собой получилось название для бота.
В этом канале я планирую:
Поэтому этот канал будет интересен юристам, энтузиастам ИИ и low-code разработки (и особенно тем, кто совмещает эти роли). Возможно, заинтересует и тех, кто следит за жизнью подобных pet-проектов, создаваемых людьми из, казалось бы, совсем других сфер.
Я надеюсь, что бот будет действительно полезен многим людям, и что он вырастет во что-то большее. Поэтому очень приветствую любую конструктивную критику, обратную связь о работе бота, поддержку и предложения о сотрудничестве!
Начать поддержку можно с того, чтобы поставить звездочку проекту на Github или бустануть канал
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ekaterina-ya/lastminute_legal: Telegram-бот для автоматической проверки рекламных креативов на соответствие российскому…
Telegram-бот для автоматической проверки рекламных креативов на соответствие российскому законодательству о рекламе. Работает на основе Gemini 2.5 Pro API и RAG, обеспечивая расширенный юридический...
1❤12🔥7 6
День релиза! 🤩 🤩 🤩
В честь Дня релиза пост о ближайших планах по развитию бота и канала:
🤩 Настроить регулярный процесс пополнения базы знаний (RAG)
Сейчас в базе чуть больше 700 кейсов из практики всех управлений ФАС за прошедшие 2,5 года (с 01.01.2023 до 16.06.2025, когда я запустила первый скрапинг, т.е. извлечение дел из базы).
Процесс отбора кейсов в базу не на 100% автоматизированный — в нем довольно большая доля ручного отсмотра и контроля (как устроен отбор я обязательно расскажу в отдельном посте).
В ближайшее время хочу дополнить базу решениями за прошедшее с 16 июня время и за 2022 год. И заодно отладить пайплайн «скрапинг — отбор — пополнение RAG для бота».
🤩 Выдачу кейсов из RAG для нейросети хочется сделать более нюансированной и точной
Сейчас нейросеть получает 10 наиболее близких кейсов, и эта близость определяется так называемым косинусным расстоянием. Это неидеальный(и я бы даже сказала местами абсолютно топорный) метод (о нем я тоже обязательно напишу подробнее), и есть несколько идей, как можно это улучшить.
🤩 Сделать в RAG отдельный блок с руководствами ФАС о надлежащем применении законодательства о рекламе
Сейчас нейросеть может их учитывать как часть своего обучения в недрах Google, но никогда не цитирует их. Но вполне можно помимо решений УФАСов добавлять в заключение и ссылки на нужное руководство, когда это уместно.
🤩 Настроить регулярный процесс изменений в коде
MVP – вещь неидеальная, мы специально оставили несколько шероховастей в продуктовой части, чтобы отладить процесс изменения и тестирования кода локально на моем компьютере, переноса итоговой версии на Гитхаб(это, кажется, называется коммитом?) и перезапуска кода на сервере.
🤩 Разобраться с анализом собранных данных
В коде прописан сбор данных обо всех действиях пользователя в боте в связке с этапами работы бэкэнда кода (как нейросеть описала креатив, какие получила кейсы из RAG, какое написала для вас заключение) и вашей обратной связью. Но я пока вообще не вникала, как это устроено, как это будет выглядеть, как лично я буду все это читать,не пойдет ли у меня кровь из глаз от всего этого айтишного.
🤩 Информационная работа
Контент-план и собственно контент для канала, публикации в разных медиа о проекте, прямые контакты со знакомыми предпринимателями, маркетологами, юристами, соц.сети и так далее. Нужно ли добавлять, что психологически лично для меня это самая сложная часть, я бы лучше круглыми сутками ковырялась в базе решений и писала техзадания по продуктовой части🥺
Есть, конечно и ✨отдаленные планы✨
Например, попытаться преодолеть заявленные ботом ограничения, касающиеся каналов распространения рекламы, путем разработки опросников и усложнения архитектуры обработки запросов.
А еще — освоить python на уровне, позволяющем мне понять собственный код😀 кторый я писала, разумеется, не сама, а с помощью Google AI Studio и модели Gemini 2.5 Pro (той же самой, что проверяет креативы, вот такая она молодец).
Размышления о боте приводят и в эмпиреи, где бот разрастается до мультиагентной системы полного цикла для маркетологов, решающей задачи от концепта и изучения запросов клиента до готовой размещенной кампании (соответствующей всем требования законов всех рынков мира, разумеется!).
Но для начала я еще поделаю RAG :)
В честь Дня релиза пост о ближайших планах по развитию бота и канала:
Сейчас в базе чуть больше 700 кейсов из практики всех управлений ФАС за прошедшие 2,5 года (с 01.01.2023 до 16.06.2025, когда я запустила первый скрапинг, т.е. извлечение дел из базы).
Процесс отбора кейсов в базу не на 100% автоматизированный — в нем довольно большая доля ручного отсмотра и контроля (как устроен отбор я обязательно расскажу в отдельном посте).
В ближайшее время хочу дополнить базу решениями за прошедшее с 16 июня время и за 2022 год. И заодно отладить пайплайн «скрапинг — отбор — пополнение RAG для бота».
Сейчас нейросеть получает 10 наиболее близких кейсов, и эта близость определяется так называемым косинусным расстоянием. Это неидеальный
Сейчас нейросеть может их учитывать как часть своего обучения в недрах Google, но никогда не цитирует их. Но вполне можно помимо решений УФАСов добавлять в заключение и ссылки на нужное руководство, когда это уместно.
MVP – вещь неидеальная, мы специально оставили несколько шероховастей в продуктовой части, чтобы отладить процесс изменения и тестирования кода локально на моем компьютере, переноса итоговой версии на Гитхаб
В коде прописан сбор данных обо всех действиях пользователя в боте в связке с этапами работы бэкэнда кода (как нейросеть описала креатив, какие получила кейсы из RAG, какое написала для вас заключение) и вашей обратной связью. Но я пока вообще не вникала, как это устроено, как это будет выглядеть, как лично я буду все это читать,
Контент-план и собственно контент для канала, публикации в разных медиа о проекте, прямые контакты со знакомыми предпринимателями, маркетологами, юристами, соц.сети и так далее. Нужно ли добавлять, что психологически лично для меня это самая сложная часть, я бы лучше круглыми сутками ковырялась в базе решений и писала техзадания по продуктовой части
Есть, конечно и ✨отдаленные планы✨
Например, попытаться преодолеть заявленные ботом ограничения, касающиеся каналов распространения рекламы, путем разработки опросников и усложнения архитектуры обработки запросов.
А еще — освоить python на уровне, позволяющем мне понять собственный код
Размышления о боте приводят и в эмпиреи, где бот разрастается до мультиагентной системы полного цикла для маркетологов, решающей задачи от концепта и изучения запросов клиента до готовой размещенной кампании (соответствующей всем требования законов всех рынков мира, разумеется!).
Но для начала я еще поделаю RAG :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤2🎉1🤩1
Добрый день, коллеги и друзья! Прошел день с релиза, и я уже вижу очень воодушевляющий отклик и так много поддержки! 😭 Спасибо большое всем, кто тестирует, сообщает о проблемах и впечатлениях, рассказывает о боте ближнему! Подписчикам — десятикратное спасибо!!!
В сегодняшнем посте я хочу рассказать о первых этапах работы над ботом (а завтра – о последних). Пока рассказ короткий и верхнеуровневый, о каждом этапе (и даже отдельных больших подзадачах) я буду писать отдельно в деталях, а этот и завтрашний пост позже пополнять ссылками.
😀 Концептуальный этап
Сразу был понятен контур Telegram бот + нейросеть + RAG по рекламному законодательству. Но довольно много бурных обсужденийвнутри моей семьи было о том, чем будет наполнен RAG и что считать MVP. Основные отброшенные гипотезы:
⁃ RAG с руководствами ФАС (этими самыми);
⁃ RAG по делам о лекарствах и БАД как сфере, в которой у меня много опыта;
⁃ RAG по какому-то конкретному региону (УФАСу).
Все они были отброшены какнеамбициозные не добавляющие ощутимой ценности к тому, как может проверить креатив любая приличная LLM простецким zero-shot запросом (как в том меме «я подписал договор, меня не посадят?»)
Было решено действовать по принципу go big or go home и сразу делать масштабный RAG с решениями со всех регионов, по всем рынкам и всем статьям ФЗ «О рекламе».
😀 Скрапинг решений из базы данных ФАС
Этот этап частично был параллельным первому (я наскрапила практику по лекарствам и БАДам, увидела, какие это слезы😪 , и отбросила ту гипотезу). Здесь произошел тот самый первый вайб-кодинг с помощью Google AI Studio, знакомство с Терминалом на macOS и JupyterLab (средой разработки). Я попросила нейросеть написать скрипт, который по заданным мной параметрам (нащупанным не с первого раза) соберет нужные txt файлы из базы ФАС.
Удивительные ощущения настоящего колдунства от работы кода, ведь то, что руками делалось бы неделями, свершилось за пару часов: скачано несколько тысяч файлов с определениями/решениями/предписаниями, все собрано в табличку. Ну мэджик!!!
😀 Разметка данных и формирование базы знаний — самый непростой, кропотливый, но интересный процесс
Этап разметки был честно поделен пополам с AI Studio: очередным скриптом в Студию отправлялись API-запросы с текстами определений и довольно сложным промптом, в котором были поставлены две основные задачи: 1) сортировать кейсы на ценные и неценные для RAG и 2) вытаскивать из текстов разные данные и раскладывать их в табличку. Ключевые данные — тексты и описания оспариваемых креативов, суммаризация сути дела, позиции и аргументов ФАС, а также собственная оценка нейросети по шкале от 1 до 10 того, насколько дело ценное для RAG.
После этого я вычитывала эти саммери, меняла иной раз данную нейросетью оценку, много думала о том, по каким параметрам делать итоговый отбор в RAG, насколько в этом процессе можно положиться на нейросеть без отсмотра кейсов собственными глазами. Во всем процессе работы над ботом этот этап был самым длительным, но и самым увлекательным — такого дикого креатива мало где еще насмотришься. Эта деятельность принесла идею для рубрики, обещающей быть самой яркой в канале: обзор самыхкринжовых смешных и примечательных кейсов (спонсором этой рубрики могла бы быть не к ночи помянутая компания Ёбидоёби).
Всего у меня было 6 заплывов (я их называла для себя батчами): первый в 100, 4 по 200 и последний сразу аж на 1100 для ровного счета. Так из 2 тысяч дел в RAG итоге вошло 730.
В сегодняшнем посте я хочу рассказать о первых этапах работы над ботом (а завтра – о последних). Пока рассказ короткий и верхнеуровневый, о каждом этапе (и даже отдельных больших подзадачах) я буду писать отдельно в деталях, а этот и завтрашний пост позже пополнять ссылками.
Сразу был понятен контур Telegram бот + нейросеть + RAG по рекламному законодательству. Но довольно много бурных обсуждений
⁃ RAG с руководствами ФАС (этими самыми);
⁃ RAG по делам о лекарствах и БАД как сфере, в которой у меня много опыта;
⁃ RAG по какому-то конкретному региону (УФАСу).
Все они были отброшены как
Было решено действовать по принципу go big or go home и сразу делать масштабный RAG с решениями со всех регионов, по всем рынкам и всем статьям ФЗ «О рекламе».
Этот этап частично был параллельным первому (я наскрапила практику по лекарствам и БАДам, увидела, какие это слезы
Удивительные ощущения настоящего колдунства от работы кода, ведь то, что руками делалось бы неделями, свершилось за пару часов: скачано несколько тысяч файлов с определениями/решениями/предписаниями, все собрано в табличку. Ну мэджик!!!
Этап разметки был честно поделен пополам с AI Studio: очередным скриптом в Студию отправлялись API-запросы с текстами определений и довольно сложным промптом, в котором были поставлены две основные задачи: 1) сортировать кейсы на ценные и неценные для RAG и 2) вытаскивать из текстов разные данные и раскладывать их в табличку. Ключевые данные — тексты и описания оспариваемых креативов, суммаризация сути дела, позиции и аргументов ФАС, а также собственная оценка нейросети по шкале от 1 до 10 того, насколько дело ценное для RAG.
После этого я вычитывала эти саммери, меняла иной раз данную нейросетью оценку, много думала о том, по каким параметрам делать итоговый отбор в RAG, насколько в этом процессе можно положиться на нейросеть без отсмотра кейсов собственными глазами. Во всем процессе работы над ботом этот этап был самым длительным, но и самым увлекательным — такого дикого креатива мало где еще насмотришься. Эта деятельность принесла идею для рубрики, обещающей быть самой яркой в канале: обзор самых
Всего у меня было 6 заплывов (я их называла для себя батчами): первый в 100, 4 по 200 и последний сразу аж на 1100 для ровного счета. Так из 2 тысяч дел в RAG итоге вошло 730.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤1👏1
Это собственно вариант (самый простой) реализации того самого RAG: непосредственный процесс поиска (retrieval) кейсов в базе знаний и обогащения (augmentation) промпта для нейросети.
RAG‑подход использует «эмбеддинги» — числовые отпечатки смысла текста, которые позволяют сравнивать документы по содержанию. Каждое отобранное на предыдущем этапе определение было превращено в такой эмбеддинг с помощью специальной нейросети. Затем мы со Студией сделали код, который вычисляет косинусное расстояние
Сделав корпус эмбеддингов, я на 20 тестовых делах проверяла, как он работает, действительно ли косинусное расстояние помогает определить релевантные дела (спойлер надо?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤3 1
Делай RAG
Любуюсь 🥰 приближающимся к первому круглому значению числу подписчиков, горячо всех приветствую и продолжаю рассказ. Сегодня об айтишно-продуктовом блоке истории явления бота миру.
😀 Разработка логики бэкэнда бота и работа над промптами
Под бэкэндом я понимаювсё, что в файлe backend_logic.py всё, что может быть легко перенесено в другую продуктовую оболочку, например, на одностраничник. Я не уверена, правильно ли я использую термин бэкэнд, но AI Studio мне не возражала и все понимала, так что считаю, что все ок!
Что делает бэкэнд:
🤩 принимает файлы и тексты, файлы ресайзит;
🤩 отправляет уменьшенные файлы и тексты на предобработку по API в Gemini. Про предобработку буду писать отдельно;
🤩 для полученного результата предобработки создаётся эмбеддинг, вычисляется косинусное сходство между этим эмбеддингом и эмбеддингами из корпуса (корпус эмбеддингов — это результат предыдущего этапа);
🤩 из корпуса выбираются (retrieval) топ-10 дел с наибольшим косинусным сходством, заранее подготовленные описания дел вставляются (augmentation) в промпт на подготовку заключения;
🤩 обогащенный промпт отправляется по API в Gemini, Gemini генерирует заключение;
🤩 скрипт вставляет в заключение ссылку на кейс в базе ФАС и добавляет статичные дисклеймеры моего сочинения (если вы пробовали бот, то видели одинаковый блок в конце каждого заключения).
Бэкэнд не бэкэнд без двух промптов, содержание которых также было предметом долгого обдумывания. И продолжает им быть, ведь неотъемлемый компонент развития проекта — улучшение промпта. Именно для этого я прошу обратную связь, особенно от коллег-юристов, самую драгоценную.
😀 Продуктовая часть — сценарий бота и отладка
Это продумывание того, как бот взаимодействует с пользователем (то есть все кнопочки, окошки, их содержание, последовательность и прочие мелочи функционала), описание этого сценария в техническом задании-промпте, и много-много итераций локального тестирования (то есть сервером выступал мой ноутбук).
Этот этап был вторым самым длительным и богатым на тяжелые вздохи. Про вайб-кодинг здесь многие слышали, а слышали ли вы о😐 (здесь починит, там поломает, без спроса «улучшит», что-то потеряет… ух). В общем, если бы не супруг, который за пару вечеров поправил все косяки, релиз состоялся бы, но, наверное, на недели две позже и без такой радости.
😀 Переезд на сервер и релиз
Когда мы убедились, что все работает хорошо, то я очистила итоговый код от постыдных нейросетевых комментариев, сделала репозиторий на Github (уже две звезды, ура!)) и организовала пространство на render.com. Тоже не с первого раза, а где-то с третьего: одна из нейросетей мне наврала, что для Telegram-бота нужно создавать Web Service, хотя вообще-то нужен Background Worker, а также я была озадачена сокрытием базы знаний и корпуса эмбеддингов в приватном репозитории.
Но все решилось, запустилось, я написала коллегами и в чат ilovedocs и-и-и
———вы находитесь здесь———
Каждый этот этап можно расписать на три поста, что меня поражает, ведь проделанная работа кажется довольно простой, а продукт — крошка-малышка. Ну поражает и поражает, написать все равно очень хочется, поэтому не переключайтесь!😀
Под бэкэндом я понимаю
Что делает бэкэнд:
Бэкэнд не бэкэнд без двух промптов, содержание которых также было предметом долгого обдумывания. И продолжает им быть, ведь неотъемлемый компонент развития проекта — улучшение промпта. Именно для этого я прошу обратную связь, особенно от коллег-юристов, самую драгоценную.
Это продумывание того, как бот взаимодействует с пользователем (то есть все кнопочки, окошки, их содержание, последовательность и прочие мелочи функционала), описание этого сценария в техническом задании-промпте, и много-много итераций локального тестирования (то есть сервером выступал мой ноутбук).
Этот этап был вторым самым длительным и богатым на тяжелые вздохи. Про вайб-кодинг здесь многие слышали, а слышали ли вы о
муж-дебагинге
? Если с первым драфтом кода у AI Studio все очень неплохо, то с отладкой Когда мы убедились, что все работает хорошо, то я очистила итоговый код от постыдных нейросетевых комментариев, сделала репозиторий на Github (уже две звезды, ура!)) и организовала пространство на render.com. Тоже не с первого раза, а где-то с третьего: одна из нейросетей мне наврала, что для Telegram-бота нужно создавать Web Service, хотя вообще-то нужен Background Worker, а также я была озадачена сокрытием базы знаний и корпуса эмбеддингов в приватном репозитории.
Но все решилось, запустилось, я написала коллегами и в чат ilovedocs и-и-и
———вы находитесь здесь———
Каждый этот этап можно расписать на три поста, что меня поражает, ведь проделанная работа кажется довольно простой, а продукт — крошка-малышка. Ну поражает и поражает, написать все равно очень хочется, поэтому не переключайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤6⚡2🤩1
Добрый день! ☕️ Как прошел ваш пятничный вечер? Мой был очень эмоциональным, ведь вчера под раскаты грома в темной комнате, освещаемой молниями, я пыталась воссоединиться с базой данных, ведение которой прописано в коде бота.
Код по задумке должен собирать три типа данных:
🤩 log-файлы на каждого пользователя с данными о его активности и security-лог с данными о нарушениях правил безопасности;
🤩 агрегированные данные в базе данных SQLite (файл в формате .db);
🤩 сохранение загруженного пользователем контента (файлы, картинки, тексты).
Бот работает на сервере сервиса render.com и все эти данные должен сохранять в так называемом persistent disk, который создавался вместе с запуском бота на сервере. Этот диск помогает сохранять локальные файлы при перезапуске бота. Сначала я надеялась, что я смогу сделать код, который будет в каком-то постоянном режиме вытягивать данные из этого диска, но это оказалось в принципе невозможно. Потому что render.com вот такой вот супер-секьюрный. Возможным оказалось скачивать файлы на момент Х, и AI Studio подсказала мне очень легкий, простейший способ это сделать…
Легкий способ обернулся примерно часом мытарств с так называемым SSH-ключом🥺 Это такой способ подключать свой компьютер к удаленному серверу через пару ключей — приватный и публичный. Ваш компьютер выдает вам публичный ключ, вы его вносите на сервер, затем через Терминал вы обращаетесь компьютером к серверу, он сверяет публичный и приватный ключи, и вы получаете все, что вам надо с диска.
Я не буду вдаваться в детали, почему все это было долго: основная причина состоит в моей личной малограмотности (я не понимаю как по-нормальному пользоваться Терминалом), а Студия почему-то плохо определяла причины ошибок и давала неправильные советы по определению места нахождения данных на диске. Почему-то Студия игнорировала мои оказавшиеся правильными идеи и до последнего уверяла меня, что я просто неправильно скопировала ключ…🙃
Короче, после успешной стыковки с сервером оказалось, что SQLite база не ведется, а пользовательский контент не сохраняется.
🤪 🤪 🤪 🤪
Грустно? Мне тоже стало очень грустно!☹️ Я стала думать о том, как же хорошо, что не сообщила о боте на очень широкую аудиторию, и почему я не проверила это все до релиза, это же очевидный такой 8 этап!
Но потом мне перестало быть грустно, ведь логи записались нормально!
Сейчас за 5 минут мы с Chat GPT o4-mini-high (я пока обиделась на Студию) сделали скрипт, который собрал мне данные из логов в табличку. Пока такой костыль, базу данных, конечно же, буду чинить после выходных.
И вот первая статистика использования бота:
За почти 4 дня на ~21:00 вечера пятницы😀 😀 уникальных пользователей направили 😀 😀 запросов
😀 пользователя (2 юриста, 1 ИИ-энтузиаст и 1 ответственный гражданин) дали обратную связь в опроснике
😀 пользователя оставили развернутый комментарий.
Назвавшиеся юристами пользователи поставили заключению решительные двойки! Ну и правильно, коллеги, давайте как-то воспитывать этих роботов (правда по логам одной из коллег в качестве заключения указана внутренняя ошибка на стороне Google… такому и правда сложно ставить хорошие оценки).
Оптимизма вечеру добавила мысль, что в самом ближайшем времени нас не ждет ИИ-апокалипсис🚀 , ведь ИИ сам себя довольно плохо дебажит. И данные собирать без супервизии не умеет.
А в мои ближайшие планы добавилась отладка сбора данных и просмотр каких-то базовых 101 уроков по программированию (да хотя бы в Терминале разобраться).
Хороших выходных, коллеги!
Код по задумке должен собирать три типа данных:
Бот работает на сервере сервиса render.com и все эти данные должен сохранять в так называемом persistent disk, который создавался вместе с запуском бота на сервере. Этот диск помогает сохранять локальные файлы при перезапуске бота. Сначала я надеялась, что я смогу сделать код, который будет в каком-то постоянном режиме вытягивать данные из этого диска, но это оказалось в принципе невозможно. Потому что render.com вот такой вот супер-секьюрный. Возможным оказалось скачивать файлы на момент Х, и AI Studio подсказала мне очень легкий, простейший способ это сделать…
Легкий способ обернулся примерно часом мытарств с так называемым SSH-ключом
Я не буду вдаваться в детали, почему все это было долго: основная причина состоит в моей личной малограмотности (я не понимаю как по-нормальному пользоваться Терминалом), а Студия почему-то плохо определяла причины ошибок и давала неправильные советы по определению места нахождения данных на диске. Почему-то Студия игнорировала мои оказавшиеся правильными идеи и до последнего уверяла меня, что я просто неправильно скопировала ключ…
Короче, после успешной стыковки с сервером оказалось, что SQLite база не ведется, а пользовательский контент не сохраняется.
Грустно? Мне тоже стало очень грустно!
Но потом мне перестало быть грустно, ведь логи записались нормально!
Сейчас за 5 минут мы с Chat GPT o4-mini-high (я пока обиделась на Студию) сделали скрипт, который собрал мне данные из логов в табличку. Пока такой костыль, базу данных, конечно же, буду чинить после выходных.
И вот первая статистика использования бота:
За почти 4 дня на ~21:00 вечера пятницы
Назвавшиеся юристами пользователи поставили заключению решительные двойки! Ну и правильно, коллеги, давайте как-то воспитывать этих роботов (правда по логам одной из коллег в качестве заключения указана внутренняя ошибка на стороне Google… такому и правда сложно ставить хорошие оценки).
Оптимизма вечеру добавила мысль, что в самом ближайшем времени нас не ждет ИИ-апокалипсис
А в мои ближайшие планы добавилась отладка сбора данных и просмотр каких-то базовых 101 уроков по программированию (да хотя бы в Терминале разобраться).
Хороших выходных, коллеги!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🤝3🔥2
Это бот в этот непогожий понедельник. Первый раз прилег по необъяснимым причинам — видела по логам сервера, что кто-то пришел попользоваться ботом, но, как и я, на большую часть запросов получал грустное
Но я пытаюсь смотреть на ботоводство как на уникальную жизненную ситуацию: возможность из каждой новой проблемы получить новое знание. Так, например, я узнала, что Google любезно сообщает об инцидентах здесь, а если никакого глобального инцидента нет, то предлагает посмотреть, что могло пойти не так с конкретно вашим проектом (впрочем, и на моем проекте тоже не было инцидентов).
Задуплилась не только Gemini, но и сам бот, причем и в бэкэндовой части, и в телеграмской. Например, бэкэнд не генерировал ссылки на базу ФАС, а оставлял только caseID (это номера, которые в базе ФАС присвоены страницам отдельных дел), который нейросеть подбирает из аугментированного второго промпта. А в интерфейсе Телеграма бот ругал меня за вводимый между запросами текст, не распознавал его как креатив и выдавал окно, которое должно выдаваться при прохождении опросника. Это все я поправилапростым советским рубильником, перезапустив бота на сервере.
Короче, день проходит с ощущением загадки, которую я не могу разгадать❓ Буду признательна, если у кого-то сегодня найдется минутка потыкать бота, поглядеть, сохраняются ли ошибки 🥱
500 An internal error has occurred. Please retry or report in https://developers.generativeai.google/guide/troubleshooting
Но я пытаюсь смотреть на ботоводство как на уникальную жизненную ситуацию: возможность из каждой новой проблемы получить новое знание. Так, например, я узнала, что Google любезно сообщает об инцидентах здесь, а если никакого глобального инцидента нет, то предлагает посмотреть, что могло пойти не так с конкретно вашим проектом (впрочем, и на моем проекте тоже не было инцидентов).
Задуплилась не только Gemini, но и сам бот, причем и в бэкэндовой части, и в телеграмской. Например, бэкэнд не генерировал ссылки на базу ФАС, а оставлял только caseID (это номера, которые в базе ФАС присвоены страницам отдельных дел), который нейросеть подбирает из аугментированного второго промпта. А в интерфейсе Телеграма бот ругал меня за вводимый между запросами текст, не распознавал его как креатив и выдавал окно, которое должно выдаваться при прохождении опросника. Это все я поправила
Короче, день проходит с ощущением загадки, которую я не могу разгадать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1 1
Ура, первое обновление! #commits
Ох, и тяжело же оно далось. И планировалось чуть раньше, и обновлялось вообще не то, что было задумано.
Что сделано:
🤩 при ошибке 500, которая появлялась в понедельник, бот теперь будет уведомлять пользователя о том, что есть проблема на стороне Google, и предлагать загрузить креатив попозже или почитать канал;
🤩 администратор бота будет получать сигнал о том, что кто-то из пользователей получил ошибку 500;
🤩 настроено сохранение загруженных картинок после ресайза на диск сервера;
🤩 расширено количество записей, которые вносятся в пользовательский лог:
содержимое пользовательского текстового сообщения;
количество потраченных токенов и метрики API;
полный стек-трейс при возникновении ошибок;
caseID и косинусное расстояние для top-10 релевантных дел, которые идут в Промпт 2 (тот промпт, что запрашивает итоговое заключение);
текст итогового Промпта 2;
путь к сохраненной после ресайза картинке.
А еще починилась неожиданно обнаруженная проблема стирания всех файлов и логов при ручном перезапуске бота, но это отдельная увлекательная история, чтобы рассказать её, мне нужно собраться с духом🙂
Потестите, пожалуйста😊
Ох, и тяжело же оно далось. И планировалось чуть раньше, и обновлялось вообще не то, что было задумано.
Что сделано:
содержимое пользовательского текстового сообщения;
количество потраченных токенов и метрики API;
полный стек-трейс при возникновении ошибок;
caseID и косинусное расстояние для top-10 релевантных дел, которые идут в Промпт 2 (тот промпт, что запрашивает итоговое заключение);
текст итогового Промпта 2;
путь к сохраненной после ресайза картинке.
А еще починилась неожиданно обнаруженная проблема стирания всех файлов и логов при ручном перезапуске бота, но это отдельная увлекательная история, чтобы рассказать её, мне нужно собраться с духом
Потестите, пожалуйста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👏4❤2
10 дней прошло с релиза бота, а дел по нему уже на полноценный рабочий день – когда рассказывали про вайб-кодинг, об этом умолчали 🥺
Коротко(нет) расскажу о своих ботных приключениях за последнее время.
🤩 Недавно я жаловалась, что логи не пишутся в базу данных, поэтому немало времени ушло на то, чтобы разобраться, как она устроена и что вообще делает.
Ответ убил — в базу данных логи и не должны были записываться☕ Но она очень важна и нужна для учета расходования ежедневного лимита и нарушений правил и блокировок. А я ее чуть было не удалила.
Также было принято решение не выносить содержимое логов в какой-то структурированный вид на сервере, а на данном этапе просто их выгружать и локальным скриптиками собирать в таблицы.
🤩 Из-за понедельничной аварии на боте и его мануальной перезагрузки вскрылся важный фейл — все логи и база данных почему-то удаляются при перезапуске бота, хотя должны писаться на persistent disk.
Долгая диагностика привела к причине, бичующей даже самых сеньористых айтишников: в переменных окружения в адресе диска в самом начале пути к диску /////// НЕ СТОЯЛО КОСОЙ ЧЕРТЫ /////// Это вам не юриспруденция, здесь все точно. Помянем утраченные логи за три дня😵
🤩 Я вообще много нового узнала про собственный код за эту неделю и осознала, насколько нужно быть аккуратной в формулировках промптов. Не напишешь конкретно, что PDF-файлы тоже нужно ресайзить и сохранять — этого и не будет)) ну, будет, в очереди на апдейт.
🤩 Много эмоций потрачено на отношения с нейросетями.
На время переезжала со всеми делами в chat gpt, сделала все по культуре: проект, актуальные .py-файлы, контекст о продукте и свои ожидания по ответам. Объясняет как устроен код он весьма неплохо, но попросить что-то переписать/дописать и объяснить, где это вставить — это просто провал, причем даже в👑 great for coding
👑 модели o4-mini-high.
Вернулась обратно в AI Studio, взаимодействуем в формате «в новый чат кидаю актуальную редакцию файлов с кодом», и с волшебной формулировкой «напиши минимально необходимые изменения в коде» по изолированным небольшим вопросам он неплохо отрабатывает. Все это было до вчерашнего релиза GPT-5, но почему-то я не преисполнена оптимизма, хотя, конечно, попробую.
🤩 Самое важное — отладка (уже почти наизусть выучила!) пайплайна внесения изменений через Терминал и
Локально у меня существует папка, которая полностью дублирует актуальную версию кода на Github с .sh файлом переменных окружения для локального тестирования. Файлы с кодом я правлю в Jupyter Lab, тестирую на специально созданном тестовом боте. Проверенные изменения командами
🤩 Пока я занималась вчерашними коммитами, резко назрели изменения на сегодняшние.
А именно Gemini решила пожестить и позапрещать невинный контент, а также забанить одну пользовательницу. Механизма разбана у меня не оказалось✌️ (помните про точность формулировок промптов?), его я уже написала. Но нужно еще начать логировать фидбек от API с причинами отказа смотреть контент и поправить UX-часть: изменить подход к блокировкам и сделать более дружелюбные поясняющие окошки для пользователей бота.
🤩 Ну и напоследок — я наскрапила новых кейсов для, собственно, RAGа, но пока руки не доходят ими нормально заняться.
Попутно еще нашла косяки в уже имеющейся базе знаний. Самый яркий — мудрое Ненецое УФАС написало там, где все УФАСы размещают текст решения, фразу
А само решение прицепило .doc-файлом. Исполнительный и инициативный Gemini при разметке сделал из «по тексту решения» целый кейс, где Кагоцел рекламировала счастливая семья, а ФАС признал это гарантией положительного действия. И это сочинение уже выдавалось пользователям в заключение, стыд!
Кто-то помнит пост недельной давности о ближайших планах по развитию бота? Мне теперь немного смешно его вспоминать, по розовым очкам пошла маленькая пока еще трещинка.
Сдамся ли я всем этим багам? Да ни за что! Оставайтесь на связи, мне самой уже интересно, что я буду думать еще через неделю.
Коротко
Ответ убил — в базу данных логи и не должны были записываться
Также было принято решение не выносить содержимое логов в какой-то структурированный вид на сервере, а на данном этапе просто их выгружать и локальным скриптиками собирать в таблицы.
Долгая диагностика привела к причине, бичующей даже самых сеньористых айтишников: в переменных окружения в адресе диска в самом начале пути к диску /////// НЕ СТОЯЛО КОСОЙ ЧЕРТЫ /////// Это вам не юриспруденция, здесь все точно. Помянем утраченные логи за три дня
На время переезжала со всеми делами в chat gpt, сделала все по культуре: проект, актуальные .py-файлы, контекст о продукте и свои ожидания по ответам. Объясняет как устроен код он весьма неплохо, но попросить что-то переписать/дописать и объяснить, где это вставить — это просто провал, причем даже в
Вернулась обратно в AI Studio, взаимодействуем в формате «в новый чат кидаю актуальную редакцию файлов с кодом», и с волшебной формулировкой «напиши минимально необходимые изменения в коде» по изолированным небольшим вопросам он неплохо отрабатывает. Все это было до вчерашнего релиза GPT-5, но почему-то я не преисполнена оптимизма, хотя, конечно, попробую.
git
. Локально у меня существует папка, которая полностью дублирует актуальную версию кода на Github с .sh файлом переменных окружения для локального тестирования. Файлы с кодом я правлю в Jupyter Lab, тестирую на специально созданном тестовом боте. Проверенные изменения командами
git status
, git add
, git commit
и git push
быстро и элегантно записываются в репозиторий. Красота!А именно Gemini решила пожестить и позапрещать невинный контент, а также забанить одну пользовательницу. Механизма разбана у меня не оказалось
Попутно еще нашла косяки в уже имеющейся базе знаний. Самый яркий — мудрое Ненецое УФАС написало там, где все УФАСы размещают текст решения, фразу
по тексту решения
А само решение прицепило .doc-файлом. Исполнительный и инициативный Gemini при разметке сделал из «по тексту решения» целый кейс, где Кагоцел рекламировала счастливая семья, а ФАС признал это гарантией положительного действия. И это сочинение уже выдавалось пользователям в заключение, стыд!
Кто-то помнит пост недельной давности о ближайших планах по развитию бота? Мне теперь немного смешно его вспоминать, по розовым очкам пошла маленькая пока еще трещинка.
Сдамся ли я всем этим багам? Да ни за что! Оставайтесь на связи, мне самой уже интересно, что я буду думать еще через неделю.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7😁5👍3
Пока я перенастраиваю в боте систему цензуры и блокировок и готовлю для первичной разметки нейросетью новый кусочек RAGа, хочу рассказать о паре кейсов из практики УФАСов культурной столицы и её области. Оба они поразили меня тем, что в разных местах Интернета можно увидеть профеминистический дискурс, но найти его, копошась в практике ФАС, да еще и в таких формулах я совсем не ожидала.
Какие в Петербурге живут разные люди! Одни делают мемы, считая слово «титечная» чистым петербуржством, а другие обращаются в ФАС (из каких именно побуждений, к сожалению, неизвестно) и затевают вот это дело.
Решение довольно коротко и четко повторяет позицию Рекламного совета:
А значит, нарушена ч. 6 ст. 5 Закона о рекламе, повелено проекцию снять. Петербуржцы если среди подписчиков есть, поглядите при случае, светятся ли эти 8 букв все еще на пилястре Невского, 15?
Гораздо более эмоциональная разборка произошла из-за рекламы, изображения которой мне не удалось нагуглить, но описана она следующим образом:
Как мы узнаем далее из решения, девушка багет держала вовсе не для того, чтобы порезать ножом и сделать из него бутерброд.
Мнение петербуржцев о креативе застройщика КВС суммировали так: «…такую рекламу … в таком культурном городе как наш…», «… откровенная пошлость…», «… унижает российских девушек»!!!
Основные тезисы Ленинградского УФАСа по поводу этого остроумнейшего креатива:
🤩 реклама объективизирует и сексуализирует женский образ, что считается неэтичным, поскольку влечет за собой отрицание субъективности женщины [наверное, имелась в виду субъектность. Все равно круто, жду кейсов, где будет еще слово агентность];
🤩 отождествление человека и неодушевленного объекта является унизительным для человека;
🤩 оборот «на всё готовая» в обычном
🤩 рекламодатель в данном случае грубо попирает традиционные ценности российского общества [как вам? Прям топ-10 неожиданных аниме-концовок].
Думаете все? Нет, ведь этот кейс еще примечателен дискуссией о том, что представляют собой традиционные ценности! Застройщик сообщил Рекламному совету:
Своего мнения комиссия по поводу этого убедительного довода не высказала. Праведный путь и социальные задачи у каждого свои, конечно.
Интересно, что запретить эти же самые вещи можно было бы с позиций скорее ханжеских, но УФАСы предпочли какой-то человекоцентричный подход и защиту личного достоинства. И, преисполнившись ощущением righteousnessности, заявляю в конце патетично, что по моим меркам этот путь решает очень даже достойные социальные задачи☕️
Какие в Петербурге живут разные люди! Одни делают мемы, считая слово «титечная» чистым петербуржством, а другие обращаются в ФАС (из каких именно побуждений, к сожалению, неизвестно) и затевают вот это дело.
Решение довольно коротко и четко повторяет позицию Рекламного совета:
… использование просторечия, сведение женщины исключительно к одной части её тела могут рассматриваться как унижение женского достоинства.
А значит, нарушена ч. 6 ст. 5 Закона о рекламе, повелено проекцию снять. Петербуржцы если среди подписчиков есть, поглядите при случае, светятся ли эти 8 букв все еще на пилястре Невского, 15?
Гораздо более эмоциональная разборка произошла из-за рекламы, изображения которой мне не удалось нагуглить, но описана она следующим образом:
На рекламных баннерах было представлено изображение молодой девушки в шортах, которая держит в руках французский багет, и следующим текстом: «НА ВСЁ ГОТОВАЯ квартира с отделкой + мебель в подарок
Как мы узнаем далее из решения, девушка багет держала вовсе не для того, чтобы порезать ножом и сделать из него бутерброд.
Мнение петербуржцев о креативе застройщика КВС суммировали так: «…такую рекламу … в таком культурном городе как наш…», «… откровенная пошлость…», «… унижает российских девушек»!!!
Основные тезисы Ленинградского УФАСа по поводу этого остроумнейшего креатива:
узусе
не соотносится с квартирой, но ассоциативно связан с человеческими характеристиками. Подтверждением этого тезиса может служить поисковая выдача Яндекса при запросе данного словосочетания [жду, когда подтверждением тезиса будет считаться ответ нейросетей];Думаете все? Нет, ведь этот кейс еще примечателен дискуссией о том, что представляют собой традиционные ценности! Застройщик сообщил Рекламному совету:
…красивая женщина на кухне - это то, что так хочется мужчине с традиционными ценностями! Поэтому компания делает рекламу с социальным оттенком и призывает девушек ждать мужей на кухне. А мужчина, зная, что его ждет такая женщина дома, никогда не сойдет с праведного пути [забавно, что утром я искала в голове, как по-русски будет слово righteousness]. Такие семьи будут надежны и долговечны и, конечно, все это только увеличит деторождаемость в стране. А значит, наша компания выполняет еще одну важную социальную задачу - увеличение деторождаемости в РФ.
Своего мнения комиссия по поводу этого убедительного довода не высказала. Праведный путь и социальные задачи у каждого свои, конечно.
Интересно, что запретить эти же самые вещи можно было бы с позиций скорее ханжеских, но УФАСы предпочли какой-то человекоцентричный подход и защиту личного достоинства. И, преисполнившись ощущением righteousnessности, заявляю в конце патетично, что по моим меркам этот путь решает очень даже достойные социальные задачи
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤10😁6👍2💯2
Сообщаю информацию о своей хозяйственной деятельности! Приходите послушать 💅
UPD — онлайн тоже вроде как есть https://moscow-legal-hackers.timepad.ru/event/3497617/
UPD — онлайн тоже вроде как есть https://moscow-legal-hackers.timepad.ru/event/3497617/
Please open Telegram to view this post
VIEW IN TELEGRAM
moscow-legal-hackers.timepad.ru
Vibe Coding / События на TimePad.ru
На митапе 28 августа поговорим о феномене vibe coding.
🔥5👏2
Forwarded from Saglara Lidzhieva
Друзья, всем привет!
До нашего митапа по вайбкодингу осталось ровно 2 недели.
Мы начинаем представлять наших спикеров.
Первый спикер - Екатерина Якуненко.
Екатерина яркий пример того, как юрист с помощью вайбкодинга может создать свой продукт... с нуля... без опыта..
Екатерина — автор бота @lastminute_legal_bot.
Бот проводит проверку рекламных материалов на соответствие и практике ФАС.
За пару недель ботом успело воспользоваться около сотни уникальных пользователей.
О своем опыте Екатерина делится в телеграм-канале "Делай RAG".
А еще два месяца назад Екатерина не представляла, что у нее будет свой бот, что этот бот будет отправлять по API аугментированные запросы в нейросеть. Совсем недавно это были какие-то где-то услышанные слова, а теперь — осмысленная ежедневная деятельность. И это стало возможно благодаря LLM — весь код написан с их помощью.
В своем выступлении Екатерина расскажет:
- почему она решила заняться кодингом и выбрала тему проверки рекламных материалов;
- какие простые и доступные каждому инструменты использует в работе над ботом;
- что уже сегодня умеет бот и какие есть планы по его развитию;
- немного о «темной» (но очень затягивающей) стороне того, что поначалу кажется волшебством.
До нашего митапа по вайбкодингу осталось ровно 2 недели.
Мы начинаем представлять наших спикеров.
Первый спикер - Екатерина Якуненко.
Екатерина яркий пример того, как юрист с помощью вайбкодинга может создать свой продукт... с нуля... без опыта..
Екатерина — автор бота @lastminute_legal_bot.
Бот проводит проверку рекламных материалов на соответствие и практике ФАС.
За пару недель ботом успело воспользоваться около сотни уникальных пользователей.
О своем опыте Екатерина делится в телеграм-канале "Делай RAG".
А еще два месяца назад Екатерина не представляла, что у нее будет свой бот, что этот бот будет отправлять по API аугментированные запросы в нейросеть. Совсем недавно это были какие-то где-то услышанные слова, а теперь — осмысленная ежедневная деятельность. И это стало возможно благодаря LLM — весь код написан с их помощью.
В своем выступлении Екатерина расскажет:
- почему она решила заняться кодингом и выбрала тему проверки рекламных материалов;
- какие простые и доступные каждому инструменты использует в работе над ботом;
- что уже сегодня умеет бот и какие есть планы по его развитию;
- немного о «темной» (но очень затягивающей) стороне того, что поначалу кажется волшебством.
🔥15👍2
#commits! Все они были незапланированные и вынужденные страшным ханжеством Gemini, которая не пропускала безобидные вещи вплоть до бана одной пользовательницы.
🤩 улучшено логирование
Теперь ответ от API собирается в json, из которого видно и метрики API, и ошибки, и результаты работы модели (т.н. finish reasons, в которых отражается наличие ответа или его ошибочное отсутствие, блокировки из-за нарушения ограничений в промпте либо аутпуте).
Также там фиксируется оценка моделью вероятности нарушения контетом правил: она ставит баллы probability по каким-то категориям с номерами.
Убрано логирование Промпта 2, эту простыню на 8-9 тысяч токенов все равно читать не буду, а лог раздувает до адских размеров.
🤩 изменена система обработки ошибок и неблокирующих finish reasons
Оказалось, что изначально обрабатывающие контент функции содержали отлов ошибк и превращение их в ответ модели, поэтому, например, пользователи видели текст с ошибкой 500. Первый патч этой проблемы был совсем неправильным.
Сейчас т.н. HTTP-ошибки, все finish reasons, кроме блокирующих, пустые ответы и прочие непредвиденные реакции нейросети обрабатываются в отдельном блоке
Если происходит ошибка, бот сообщает пользователю о проблемах на стороне Google, предлагает вернуться позже и не уменьшает ежедневный лимит, а администратору посылает работающее(а не как в прошлый раз) уведомление об аварии.
🤩 доведена до ума система обработки непристойного контента и блокировок
Здесь несколько изменений, тесно связанных с предыдущими. «Блокирующие» finish reasons обрабатываются отдельно. Думаю написать об этом подробный пост, цензура у нейросетей — многослойная тема.
Если модель отказывается работать по цензурным причинам, добавляется счетчик нарушений. 7 нарушений подряд или 15 всего ведут к блокировке (я по-прежнему надеюсь, что это не понадобится, так как фильтры на цензуру входящего контента вообще сняты вообще, и больше необоснованных отказов не должно быть).
Тем не менее, для забаненных пользователей добавлена возможность связаться с администратором, а администратору — команда для разбана.
🤩 улучшение коммуникации с пользователем
Поправила и унифицировала все окна, которые получает пользователь от бота, сделала их более человечными (до этого местами был отмороженный текст, который накодила AI Studio), пояснила, что нейросеть может ошибаться в своей оценке пристойности креативов.
В целом Gemini не должна больше жестить так, как раньше. А если начнет, то мы точно будем знать причины ее поведения.
Как всегда прошу🥹 попробовать. Попробуйте послать боту картинок и слоганов на грани с nsfw и шовинизмом 😊
А я на пару недель завязываю с кодингом и буду уже делать RAG (хочу добить до тысячи кейсов в базе), писать посты и готовиться к митапу.
Все эти испытания лажовой исходной архитектурой кода очевидно посланы мне для того, чтобы было о чем порассказывать 28 августа. Всем хороших выходных и не забудьте зарегистрироваться на тусовку!)
Теперь ответ от API собирается в json, из которого видно и метрики API, и ошибки, и результаты работы модели (т.н. finish reasons, в которых отражается наличие ответа или его ошибочное отсутствие, блокировки из-за нарушения ограничений в промпте либо аутпуте).
Также там фиксируется оценка моделью вероятности нарушения контетом правил: она ставит баллы probability по каким-то категориям с номерами.
Убрано логирование Промпта 2, эту простыню на 8-9 тысяч токенов все равно читать не буду, а лог раздувает до адских размеров.
Оказалось, что изначально обрабатывающие контент функции содержали отлов ошибк и превращение их в ответ модели, поэтому, например, пользователи видели текст с ошибкой 500. Первый патч этой проблемы был совсем неправильным.
Сейчас т.н. HTTP-ошибки, все finish reasons, кроме блокирующих, пустые ответы и прочие непредвиденные реакции нейросети обрабатываются в отдельном блоке
except
, общем для всех функций. Если происходит ошибка, бот сообщает пользователю о проблемах на стороне Google, предлагает вернуться позже и не уменьшает ежедневный лимит, а администратору посылает работающее
Здесь несколько изменений, тесно связанных с предыдущими. «Блокирующие» finish reasons обрабатываются отдельно. Думаю написать об этом подробный пост, цензура у нейросетей — многослойная тема.
Если модель отказывается работать по цензурным причинам, добавляется счетчик нарушений. 7 нарушений подряд или 15 всего ведут к блокировке (я по-прежнему надеюсь, что это не понадобится, так как фильтры на цензуру входящего контента вообще сняты вообще, и больше необоснованных отказов не должно быть).
Тем не менее, для забаненных пользователей добавлена возможность связаться с администратором, а администратору — команда для разбана.
Поправила и унифицировала все окна, которые получает пользователь от бота, сделала их более человечными (до этого местами был отмороженный текст, который накодила AI Studio), пояснила, что нейросеть может ошибаться в своей оценке пристойности креативов.
В целом Gemini не должна больше жестить так, как раньше. А если начнет, то мы точно будем знать причины ее поведения.
Как всегда прошу
А я на пару недель завязываю с кодингом и буду уже делать RAG (хочу добить до тысячи кейсов в базе), писать посты и готовиться к митапу.
Все эти испытания лажовой исходной архитектурой кода очевидно посланы мне для того, чтобы было о чем порассказывать 28 августа. Всем хороших выходных и не забудьте зарегистрироваться на тусовку!)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏4❤3
Очень хотела объявить сегодня торжественно о первом — и сразу таком красивом и внушительном пополнении RAGа, но пришлось кое-что менять в корпусе эмбеддингов. И пока вместо того, чтобы бояться, что все начнет работать хуже, чем работало, напишу вам под вечер немного развлекательного контента. Подрубрика «Рекламодатель привел довод» 🤡
Вот что можно возразить, когда на рекламу
ФАС тебе говорит, что ни одна мировая культура не признает допустимым использование подобных изображений, символизирующих половые органы, в публичных местах с целью продвижения услуг?
Ну, вы понимаете же, описать на баннере процесс интимной пластики как медицинской процедуры весьма непросто, поэтому дизайнером было предложено ассоциативное изображение цветка-розы, олицетворяющей женщину. Женские ладони розу держат потому, что интимная пластика в основном проводится у женщин и женщинами-гинекологами. Короче, смысловая нагрузка была следующей: «Женские руки гинеколога заботятся о женщине (цветке-розы)»👀
Чувствуете потоки женской энергии?💅 Я, знаете ли, даже верю им. Но ФАС не поверило, возможно потому, что по этому делу председателем комиссии была Никуйко Ирина Борисовна .
Всегда хорошо работает отмазка «да я просто пошутил😏 », решил хозяин Дома кафеля в Оренбурге. Рассказать о своем кафеле он решил, наклеив на регулярный автобус вот такую наклейку с небольшой фигой в кармане:
Какие у ФАС могли быть претензии к такому креативу вы можете догадаться. Но вообще-то, как сообщил ИП-кафельщик, целью рекламы было развлечь, а не обмануть потенциальных покупателей. Фига в кармане не сработала, комиссии УФАСа весело не было. Но жители Оренбурга продолжают развлекаться, ведь стоит им ввести в поисковике «мир кафеля оренбург», как развлечение являет себя, будто и не было никакого разбирательства и никакого штрафа.
Ну и безотказный вариант — свалить вину на кого-то!
Наружку с рецептурным препаратом и утверждением о лучших ценах повесил менеджер, а двух гусей со слоганом
придумал бессовестный дизайнер. Пришло в голову, что эти ребята — отличные теплые клиенты, которым можно рассказать о моём боте, чтобы больше никто их не подставлял так бессовестно.
К слову, бот уже третий день работает на Gemini 2.5 Flash, как-то Pro не планирует отмирать, кажется. Поделитесь, если кто использовал в последние пару дней и, допустим, неделю назад — чувствуется ли разница в ответах?
Вот что можно возразить, когда на рекламу
Пластика может быть интимной! В отделении гинекологии Эс КлассКлиник (рядом с надписью почти на половину площади рекламной конструкции изображены руки, сложенные лодочкой, в ладонях зажата розовая роза)
ФАС тебе говорит, что ни одна мировая культура не признает допустимым использование подобных изображений, символизирующих половые органы, в публичных местах с целью продвижения услуг?
Ну, вы понимаете же, описать на баннере процесс интимной пластики как медицинской процедуры весьма непросто, поэтому дизайнером было предложено ассоциативное изображение цветка-розы, олицетворяющей женщину. Женские ладони розу держат потому, что интимная пластика в основном проводится у женщин и женщинами-гинекологами. Короче, смысловая нагрузка была следующей: «Женские руки гинеколога заботятся о женщине (цветке-розы)»
Чувствуете потоки женской энергии?
Всегда хорошо работает отмазка «да я просто пошутил
Дом кафеля. Лучшая плитка и керамогранит в городе
* по мнению владельца магазина
Какие у ФАС могли быть претензии к такому креативу вы можете догадаться. Но вообще-то, как сообщил ИП-кафельщик, целью рекламы было развлечь, а не обмануть потенциальных покупателей. Фига в кармане не сработала, комиссии УФАСа весело не было. Но жители Оренбурга продолжают развлекаться, ведь стоит им ввести в поисковике «мир кафеля оренбург», как развлечение являет себя, будто и не было никакого разбирательства и никакого штрафа.
Ну и безотказный вариант — свалить вину на кого-то!
Наружку с рецептурным препаратом и утверждением о лучших ценах повесил менеджер, а двух гусей со слоганом
Один день без пи*а конечно не убьёт тебя, но зачем рисковать?
придумал бессовестный дизайнер. Пришло в голову, что эти ребята — отличные теплые клиенты, которым можно рассказать о моём боте, чтобы больше никто их не подставлял так бессовестно.
К слову, бот уже третий день работает на Gemini 2.5 Flash, как-то Pro не планирует отмирать, кажется. Поделитесь, если кто использовал в последние пару дней и, допустим, неделю назад — чувствуется ли разница в ответах?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁3❤2🙈1
И все-таки ура! 🤩
Сообщаю о первом пополнении базы знаний! #RAG_expansion
Cейчас в базе😀 😀 😀 😀 дела, она охватывает практику с 2022 года по середину августа 2025.
Некоторые подробности:
🤩 Воронка: на последнем скрапинге за 2022 и 2025-й год наскачивалось 2138 решений.
Предварительная разметка нейросетью определила, что из них 805 релевантны для RAG (то есть касаются субстантивных нарушений, а не каналов распространения, а также вообще относятся к ФЗ О рекламе — в базе ФАСа возможно всякое).
После моего отсмотра осталось 424, они присоединились к уже имеющимся.
Уже имеющиеся также подчистила от залетных определений о возбуждении дела и предписаний, убрала то, что нейросеть придумала про Кагоцел.
🤩 Выяснились всякие технические нюансы, касающиеся разделителей столбцов в csv-файлах и их отношениях с моим кодом, обвязывающим работу с RAGом, да и кодом бота тоже.
А еще пополненный корпус эмбеддингов перестал влазить на Github (28 мб вместо максимальных 25). Для этого пришлось делать уменьшение точности, с float32 до float16… в качестве временной меры, потом, наверное, я либо придумаю способ обращаться к большому файлу, либо сделаю несколько корпусов эмбеддингов.
ВРОДЕ БЫ точность не стала хуже, кейсы подбираются вполне хорошо.
🤩 Стал понятен будущий облик пайплайна пополнения RAGа, где что можно соптимизировать, какие дыры закрыть. Следующее пополнение будет результатом аккуратного и, надеюсь, отлаженного процесса.
Бот продолжает работать на Gemini 2.5 Flash. Флеш менее послушен к указаниям промпта в части оформления ссылок на кейсы, за что прошу прощения😪 Гарантирую, что практика не придумана! Если вдруг очень нужны реквизиты кейсов — пишите мне, все скину, даже все топ-10 подобранных, а не только упомянутые в заключении.
Сообщаю о первом пополнении базы знаний! #RAG_expansion
Cейчас в базе
Некоторые подробности:
Предварительная разметка нейросетью определила, что из них 805 релевантны для RAG (то есть касаются субстантивных нарушений, а не каналов распространения, а также вообще относятся к ФЗ О рекламе — в базе ФАСа возможно всякое).
После моего отсмотра осталось 424, они присоединились к уже имеющимся.
Уже имеющиеся также подчистила от залетных определений о возбуждении дела и предписаний, убрала то, что нейросеть придумала про Кагоцел.
А еще пополненный корпус эмбеддингов перестал влазить на Github (28 мб вместо максимальных 25). Для этого пришлось делать уменьшение точности, с float32 до float16… в качестве временной меры, потом, наверное, я либо придумаю способ обращаться к большому файлу, либо сделаю несколько корпусов эмбеддингов.
ВРОДЕ БЫ точность не стала хуже, кейсы подбираются вполне хорошо.
Бот продолжает работать на Gemini 2.5 Flash. Флеш менее послушен к указаниям промпта в части оформления ссылок на кейсы, за что прошу прощения
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥2🎉2👍1
Поглядите на картинку из моей завтрашней презентации. Чтобы написать на ней второе и третье число пришлось вчера доставать логи и узнать, что скачивание логов с диска на сервере сломалось — до такой степени, что скачали их в итоге через wormhole.
Есть ощущение себя собачкой из мема This is fine, вокруг которой все горит — с логами проблема, с оформлением ссылок в заключениях беда, Gemini Pro продолжает выдавать пятисотые ошибки, из бэклога от несделанного идет дым… а я делаю слайдики💀 Самооправдываюсь тем, что сдувать восьмилетнюю пыль с навыков публичных выступлений, полученных в муткортовском прошлом — не коту чихнуть, дело ответственное😼
Из других новостей — на нижегородской стороне лигалтек ландшафта обнаружился еще один бот, проверяющий рекламу😳 Спасибо Екатерине Кальмуцкой, что рассказала. Работает он по-другому и делает другое, субстантивные вопросы не проверяет. Но в нем реализованы некоторые вещи, которые я хотела сделать в будущем, и знание о том, что на полянке я уже не совсем одна, вдохновило 🤝 🤝
Других новостей нет! Радуюсь круглой сотне уникальных пользователей. Учитывая, что промоция была только в первую неделю, это очень приятно видеть! Еще приятнее знать, что некоторые коллеги используют бот в своей работе☺️ Звучит как речь на юбилей, и это почти правда, ведь в пятницу месяц с релиза! (Не верится, кажется, что уже год трудов)
Есть ощущение себя собачкой из мема This is fine, вокруг которой все горит — с логами проблема, с оформлением ссылок в заключениях беда, Gemini Pro продолжает выдавать пятисотые ошибки, из бэклога от несделанного идет дым… а я делаю слайдики
Из других новостей — на нижегородской стороне лигалтек ландшафта обнаружился еще один бот, проверяющий рекламу
Других новостей нет! Радуюсь круглой сотне уникальных пользователей. Учитывая, что промоция была только в первую неделю, это очень приятно видеть! Еще приятнее знать, что некоторые коллеги используют бот в своей работе
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12 3