Всем привет и спасибо за интерес к нашему небольшому 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 bot for automated compliance review of advertising creatives with Russian advertising…
Telegram bot for automated compliance review of advertising creatives with Russian advertising legislation. Powered by Gemini 2.5 Pro API and Retrieval-Augmented Generation (RAG) for enhanced legal...
2❤14🔥11 6👍1
День релиза! 🤩 🤩 🤩
В честь Дня релиза пост о ближайших планах по развитию бота #ботоводство и канала:
🤩 Настроить регулярный процесс пополнения базы знаний (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
🔥15❤2👍1🎉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👍2❤1👏1
Это собственно вариант (самый простой) реализации того самого RAG: непосредственный процесс поиска (retrieval) кейсов в базе знаний и обогащения (augmentation) промпта для нейросети.
RAG‑подход использует «эмбеддинги» — числовые отпечатки смысла текста, которые позволяют сравнивать документы по содержанию. Каждое отобранное на предыдущем этапе определение было превращено в такой эмбеддинг с помощью специальной нейросети. Затем мы со Студией сделали код, который вычисляет косинусное расстояние
Сделав корпус эмбеддингов, я на 20 тестовых делах проверяла, как он работает, действительно ли косинусное расстояние помогает определить релевантные дела (спойлер надо?
Подробный пост об этом здесь. #ботоводство
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Делай RAG
Кто видел предыдущий пост — пардон 😊 вот правильный! Со спокойной душой можно теперь написать про последний этап пайплайна — и пока еще не разойтись, есть несколько общих идей и накопленная за прошедшие месяцы рефлексия о том, какие в воронке минусы, и как…
🔥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❤7⚡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❤2 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