Создание запроса к ChatGPT
Почти все Telegram боты пишутся на языке Python с использованием библиотеки «Telebot». Это и будет основа промпта для Chat-GPT. Искусственному интеллекту нужно понимать, что нужно генерировать и откуда «черпать» информацию.
Мы не стали заморачиваться над написанием супер-специфического промпта и просто попросили у нейросети: «Напиши нам Telegram бота на языке Python используя библиотеку Telebot, который по нашему запросу будет присылать нам погоду в нашем городе». И тут мы сразу задались вопросом, «Откуда будет поступать информация в реальном времени?» Недолго думая, добавили в промпт «используй данные Яндекс.Погода».
Вот что нам ответил ChatGPT:
Проблема
Если коротко, нейросеть сказала нам, что у неё нет данных об актуальных API так как, её последнее обновление было в январе 2022 года. Несмотря на это, ChatGPT сразу предлагает решение: web-скрапинг, чем мы и воспользовались.
Веб-скрапинг (англ. web scraping) — метод сбора информации с различных веб-ресурсов, её анализ и преобразование полученной информации в нужный формат.
Решение проблемы
Решение этой проблемы заключалось в том, чтобы мы просто нашли актуальный ключ Яндекс.Погоды. На поиски у нас ушло не более 5 минут, мы просто «вбили» запрос — «API ключ погоды» в поисковике Яндекса.
Перешли по первой ссылке в выдаче и сразу попали на генерацию ключа и открытый код для копирования. В нашем случае понадобится REST-запрос на языке Python.
Взяли API Яндекс.Погода, возвращаемся в GPT дописывать промпт
Далее, мы продолжили диалог с нейросетью и попросили в её ранее сгенерированный код вставить наш код API с сайта Яндекса.
Нейросеть выполнила задачу на 5+ и интегрировала наш REST-запрос в исходный код бота.
Скопировали готовый код, побежали тестировать.
Запуск бота был успешным, без единой ошибки:
Даём «/start» боту» и получаем данные:
ПОБЕДА! Почти…
Почти идеально, за исключением того, что мы не понимали температуру какого города нам подсказывает бот.
Еще раз внимательно почитав документацию использования API Яндекс.Погоды мы поняли, что базово в ссылке которая находилась в коде бота, указаны координаты неизвестного нам города.
Возвращаемся в ChatGPT и спрашиваем, может ли оно поменять нам координаты в ссылке. На что мы получили положительный ответ, попросили поставить интересующий нас город и продолжили тестирование.
Подведение итогов
Получили обновленную ссылку с координатами интересующего нас города, вставили в код, запустили, получили ответ, и теперь точно - ПОБЕДА!
100% совпадение с выдачей сервиса Яндекс.Погода
Результат наших усилий — мы получили интеллектуальный бот, который подсказывает нам погоду. Полезность этого бота - минимальна.
Суть нашего эксперемента заключалась в том, чтобы показать возможность нейросети ChatGPT на примере Telegram чат-бота.
Совмещение технологий, таких как Telegram, ChatGPT 3.5 и Яндекс.Погода API, позволило создать нам инновационное и интересное решение!
По сути, 90% работы за нас выполнил ChatGPT, мы лишь копировали и направляли это в нужное русло.
Кстати, эта статья также написана при помощи ChatGPT. Примерно 80% текста написано полностью нейросетью c нашими минимальными корректировками. Мы просто попросили её описать весь чат, используемый при создании бота.