Генерируем скрипты в ChatGPT для VkApi
За последнее время чат-боты с AI 🤖 проделали большой путь от генераторов псевдо-кода до вполне рабочих решений. Вчера захотелось посмотреть, сможет ли бот Saiora на движке GTP4.0 создать рабочий скрипт на Python для работы с VkAPI. Кому интересно - го под кат!
Постановка задачи
Хочу собрать статку по друзьям в ВК и вывести: возраст, пол, страну, образование, активность.
Формулируем желание в строку "Пример кода статистики друзей в социальной сети Вконтакте на языке python. Должен подсчитывать возраст, пол, страну, образование, активность"
Создадим новый чат и введем данный запрос в поле ввода. Затем в real-time режиме увидим, как чат-бот на наших глазах генерирует ответ.
🖤 Подпишись на мою телегу и вступи в ВК паблик. 🖤
Анализ полученного кода
Немного отредактируем отступы и комментарии и наш скрипт будет выглядеть так:
Для запуска скрипта нам необходимо иметь user_id, который можно
посмотреть в своем профиле в разделе "Личные данные"
Скажу сразу - с VkAPI я никогда не работал и методы вижу впервые 👻
Получения статки по юзеру происходит вот так:
Получение статки по друзьям: вызывается метод апи friends с фильрацией по полям
По-итогу, мы получаем словарь по которому итерируемся и выбираем нужную информацию:
Стоит отметить, что скрипт умеет подсчитывать возраст, хоть и считает от 2022 г (видимо движок GPT так думает), понял слово "активность" как статус "онлайн/оффлайн", вообщем оказался довольно сообразительным 🧠
Пробуем запускать 🏃
Хоть данный код и написан не идеально, но им уже можно пользоваться! Только нужно передать в VkApi свой телефон и пароль.
Запустить этот код и получим ошибку вида:
Немного погуглив доку, добавил captcha_handler
Т.к. я использую двухфакторную аутентификацию, то просто по связке телефон/пароль зайти не получится 😮💨. Нужно адаптировать скрипт под ввод кода подтверждения.
Для этого в личном кабинете ВК я подвязал Google Authenticator (чтобы не возиться с смс) и добавил auth_handler
Наконец, я решил немного навести красоту, и распилил единый скрипт на client и main. Секреты вынес в отдельный модуль secrets.
Проверяем!
Как видно, скрипт успешно собрал статистику по моим друзьям, подсчитал возраст, пол, страну, вывел кто онлайн/оффлайн.
Не знал, что кто-то есть в Бельгии 🇧🇪 Cчитаю - это успех! 🚀
Итоги
Приведенный здесь код я добавил в свой репозиторий на github - cкачать можно тут
Теперь по поводу самого чат-бота Saiora - это узбекский проект, который использует 2 версии движка GPT. Предоставляется 5 бесплатных запросов и различные варианты подписки. В пересчете на рубли и в сравнении с продуктом от OpenAI - получается не очень дорого. Но, нужно иметь местную карту или VISA.
Как видно, уже сейчас AI способен генерировать рабочий код, который нуждается лишь в косметической доработке и понимании сути процесса. Достаточно корректно сформулировать запрос и получить готовое решение, даже не зная деталей реализации.
🖤 Подписывайтесь на мою телегу и вступайте в ВК паблик.
Больше кода 🐍 - меньше багов 🪲!