Шляпа отправила меня в Слизерин

Шляпа отправила меня в Слизерин

Аудитория: 305 подписчиков
Категория: Блоги
Увлекательные приключения джуна в мире Python

Обложка не моя, все авторские права у: https://www.deviantart.com/infinitewarp

Личный контакт: @hartheim

Статистика канала

305 подписчиков

Последние посты

Шляпа отправила меня в Слизерин
Минус очередные выходные, плюс одно посещённое мероприятие — сходила на этот самый IT-пикник из предыдущего поста.Активностей там было много: вот тебе стенды предприятий, вот интерактивные зоны, вот музыканты… Но нет, мне проще слушать лекции, чем участвовать в каких-нибудь конкурсах, так что я практически сразу ускакала в сторону лекториев.В секции “Архитектура, надёжность и качество” была классная лекция “Надежность через разрушения. Контролируемые сбои на production” Екатерины Истошиной из Т-банка — про хаос-инжиниринг и его применение на практике. Как ни странно, это не про то, чтобы дать необученным обезьянам ломать прод, как им вздумается, а скорее про то, как ставить эксперименты: выдвигать гипотезы (а что если выключить пару нод? а что если замедлить загрузку страницы?), вносить изменения, фиксировать результат. Если негативные последствия слишком сильны, свернуть эксперимент досрочно. В любом случае сделать выводы. Не слишком хаотично, довольно интересно, но я бы пока таким не рискнула заниматься.В секции продуктового менеджмента тоже были занятные доклады. Например, “Каким должен быть ИИ для зумеров“ — в основном, для чего зумеры могли бы применять чат-ботов. Отдельно повеселилась с такого диковинного направления как роллинг: это же текстовые ролевые игры, родимые! И даже разной степени литературности! Видимо, зумеры переизобрели и их — теперь банановые с чат-ботами.Доклад от Авито в той же секции тоже оказался неплох: применение новых технологий в разных случаях — от создания объявлений до общения с техподдержкой. Категоризация, автоматическое создание описания, суммаризация диалога… Короче, довольно наглядно.Были и другие доклады: что-то оказалось слишком сложным, что-то — не таким запоминающимся, а что-то я и вовсе пропустила. Вроде обещают записи докладов и презентации, но опираясь на прошлогодний опыт, рассчитывала бы скорее только на презентации.Где-то посреди дня пересеклась с коллегами — до пикника добралась только треть нашей команды, включая меня. Обменялись впечатлениями, сфотографировались вместе, потом разбрелись каждый по своим делам. Один из них унес домой много лута — выиграл в различных конкурсах. Возможно, я бы тоже могла унести что-нибудь с собой, но так и не решилась нигде поучаствовать.Может быть, в следующий раз буду посмелее.
599
Шляпа отправила меня в Слизерин
Превью публикации
Стажёры под моим руководством закрыли первые задачи и уже приступили к следующим. Зато у меня производительность значительно просела: код-ревью занималась, задачи подбирала, а до своего руки часто не доходят. Впрочем, ребята опытом довольны.Ещё и переезд на новый рабочий ноутбук в процессе. Проходит немного болезненно:• клавиатура в целом непривычная: ○ знаки препинания отдалились; ○ комбинации клавиш другие: пальцы по привычке ложатся на Ctrl+<insert any key>, только это больше не срабатывает. Feels like some naebalovo; ○ некоторые клавиши, скорее всего, заменены сочетанием других клавиш — предстоит выяснить, каких именно.• вместо самих программ закрываются лишь их окна;• с подключённым вторым монитором пока не приноровилась работать и т.д.Люди дружно шутят, что скоро я так привыкну, что потом не смогу работать ни на чем другом, но я пока сомневаюсь. Короче, ещё один штраф к скорости.В субботу собираемся идти на IT-пикник. Надеюсь, что будет интересно.
617
Шляпа отправила меня в Слизерин
Самое время взглянуть на календарь и обнаружить, что я проработала на новом месте уже целых полгода. На самом деле чуточку больше, но кое-кто не успел вовремя написать новый пост.Нашу команду разделили на две, и теперь часть поддерживает внутренние приложения, пока другая часть занимается внешними проектами. Становимся более самостоятельными, планируем сами, кто за какие задачи берётся в следующем месяце и сколько часов планирует потратить. Не сразу получается хорошо, с приоритизацией пока плаваем. В конце июля сами сдавали руководству результаты работы за прошедший месяц – вроде прошло неплохо.В последние дни начальник предлагает мне взять на себя кураторство стажёров. По сути, частично я уже начала этим заниматься: то искала задачи, которые им можно делегировать, то в курс дела вводила, то проводила код-ревью… Хотя всё равно сомневаюсь, что являюсь лучшей кандидатурой на эту роль — у других бэкендеров опыта побольше должно быть.Пара стажёров трудится над одной задачей в dash-приложении. Не без косяков, конечно, но что-то относительно рабочее уже получается — допилить бы местами и станет замечательно. В конце концов, я им отдельно бы присудила дополнительные очки за то, что они разбираются с dash, к которому никто из наших бэкендеров подходить без острой на то необходимости не особо хочет. Третьему стажёру неделю назад объяснили другую задачу, он вроде за неё принялся и что-то там делает, но особо об этом ничего не слышно. Ну посмотрим.А так в целом код пишется, задачи решаются. За исключением одной: в одном из приложений при запросе к определённому роуту время от времени рвётся приходящий в ответе JSON, хоть и приходит всегда со статусом 200. Не самый тяжелый и длинный, бывают и потяжелее/длиннее, при этом приходят без проблем. Запускаю локально бэк, делаю запросы в Postman — приходит полностью. Пишу скрипт для автоматических N запросов к роуту + проверку статуса и длины ответа: всегда 200, всегда полный ответ. Коллега делает запросы: Postman иногда выдаёт ему “Error: aborted message”. В общем, и на фронте смотрели, в чем дело, и на бэке сменили json.dumps() на jsonify(), и библиотеки обновляли, и писали роут, отдающий готовый список словарей — было подозрение, что изначальные данные, обрабатываемые функцией, приходили не полностью. Меняли количество воркеров, конфигурацию nginx, разворачивали без прокси — результат один: у меня при запросе к бэку в Postman — вне зависимости, локальному, на деве или на проде — всегда всё приходит, у коллеги прерывается. В общем, потратили чуть ли не пару недель на задачу и в итоге отложили её, сделаем ещё один подход позднее. Несколько расстроена этим.
515
Шляпа отправила меня в Слизерин
Превью публикации
Отдельного упоминания стоит помощь ChatGPT: спросишь у него о проблеме, упомянув flask и react — скажет, что явно кто-то из них виноват. Спросишь: а может, nginx виноват? А может, и он, отвечает он. А может, traefik? Может быть, и он. Соглашается со всеми подозрениями, во всём поддержит и не скажет, что у меня руки не оттуда растут. «Всегда есть возможность, что проблема может быть в коде, который ты написала, или способе настройки конфигураций. Давай рассмотрим список потенциальных причин…»Но мне однозначно нравится его версия насчёт проблем в сети — кажется вполне вероятной. Вот бы ещё нашлось однозначное подтверждение…
535
Шляпа отправила меня в Слизерин
Что там в итоге с хакатоном-то спустя две недели?А вот что: раз YandexGPT использовать запретили, наши ребята решили приручить Llama3. Поскольку я конкретно этим не занималась, то опишу вкратце, без особых подробностей. Полноценным дообучением заниматься не стали — вместо этого применили метод RAG (Retrieval Augmented Generation): подняли контейнер с Ollama и Open WebUI в Docker. Через Open WebUI скормили нейросети документацию, из которой нужно брать ответы, чтобы данные из документации превратилась в вектора, хранящиеся в векторной базе данных. В дальнейшем при запросе к нейросети этот запрос по похожему алгоритму тоже преобразовывается в вектора, который потом сравнивается с векторами из базы данных: ищутся те вектора, которые наиболее близки к векторам запроса. Найденное вместе с запросом подается нейросети, на основе этого она и формирует ответ.В целом подробнее про этот метод можно почитать здесь на Хабре — как мне кажется, описано вполне понятно.Что же до результата… Ответ Llama вполне генерировала — на первый взгляд, вполне дельные, но воды в них наливала иногда знатно, несмотря на то, что мы подкрутили ей температуру чуть ли не на минимальный уровень, чтобы она особо не креативила. Иногда заверяла, что передаст запрос пользователя разработчикам, чтобы те добавили новую функцию в приложении (передавать что-то разработчикам, конечно же, никто не собирался), один раз даже открыла в себе билингва: “Я recommends вам это и это…” Впрочем, на тестовых данных ответила вполне сносно, после чего системный промпт был обновлен…И это сыграло с нами плохую шутку. Презентация прошла вполне хорошо: и про чат-бот рассказали, и показали, что мы думаем о потребностях бизнеса. На демонстрации чат-бот нас несколько подвел: где-то налил воды и ответил не особо точно, где-то не понял вопрос…Короче, 14 место из 51. Там были вполне неплохие решения, так что не особо жалко. Но вот если бы был еще денечек, чтобы можно было попытаться повысить точность… Да и если бы ТЗ сразу было нормально сформировано: мол, не использовать это, оценивать будем прежде всего этого, а не так, что дадим вам несколько критериев, а сами упор сделаем прежде всего на чем-то одном. Зато опыт. Начальник весьма воодушевлен и уже нашел новые хакатоны, где мы могли бы поучаствовать. Я же пока сомневаюсь, буду ли принимать участие: не спать до середины ночи и пытаться уложиться в маленький срок оказалось несколько тяжеловато. Вот если бы отдохнуть как следует…P.S. После хакатона наткнулась на вот такую статью про то, что может выдать нейросеть. Спасибо, что мы писали чат-бота не для поваров или врачей.
654

Оставить комментарий/отзыв

Рекомендации