Ура, первое обновление! #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
#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