Вишал Багал

TL;DR: Заголовок говорит сам за себя, я не могу сделать краткое изложение, которое объяснило бы лучше, чем название. Если вы дочитали до этого места, то можете остаться до конца истории. С большой любовью ❤️

Введение

Все говорят о ГПТ-3. Компании говорят о GPT-3 по всему LinkedIn, ютуберы говорят о чате GPT-3, даже мой кот говорит о чате GPT-3. Не верите мне? Спроси его. Но я должен предупредить тебя, это твои похороны.

Итак, я решил запрыгнуть на шумиху и использовать другой подход, конечно, для собственного развлечения. Кроме того, поскольку мне нравится тратить свое время на изучение новых вещей, я, вероятно, никогда не буду использовать его для других значимых вещей. Но не будем на этом зацикливаться… пока 🙄.

Что?

Да, вы правильно прочитали заголовок. Я использовал GPT-3, чтобы досадить своему партнеру по долгой жизни. Ну, технически не GPT-3, а Open AI API.

Около двух недель назад у меня было это прозрение, когда я автоматически отправлял сообщения моей девушке каждый раз, когда я переводил свой телефон в режим зарядки и каждый раз, когда я брал его от зарядки.

Затем, увидев, что это работает отлично, я решил сделать еще один шаг и использовать знаменитую модель GPT-3, чтобы отправить ей не только простое сообщение, но и сообщение в целом с суперслучайным интересным фактом о чем угодно (автоматически сгенерированным ).

Почему?

Она очень сильно страдает от хронических проблем с привязанностью. Я шучу (или нет 👀). В любом случае, она действительно злится, когда я не отвечаю текстовым сообщением в течение нескольких часов. Как будто я сервер, и если я не отвечаю на ее пинги, она просто считает меня мертвым.

Эта проблема обычно возникает из-за того, что я ставлю телефон на зарядное устройство и надолго забываю об этом. Только часа через три-четыре я вспоминаю, что он уже полностью заряжен.

Простым решением было бы не забывать об этом или поставить будильник, который бы напоминал мне о том, что нужно его забрать, но…

Вместо этого я решил автоматизировать процесс :)

Как?

Ранее в статье Как я зарабатывал ~5$ в день — на пассивном доходе (с приложением для Android) я рассказывал, как мне нравится приложение Automate от LlamaLab для автоматизации небольших задач в моем телефоне на Android. И снова я полагался на него при разработке своего кода, и он оказался на удивление простым (не спонсировался 🤞).

Давайте погрузимся прямо в это…

Весь автоматический поток

Этот «поток» — как его определяет Automate — единственное, что мне нужно (кроме ключа API OpenAI) для запуска всего. Он разделен на две разные секции. С левой стороны у вас есть процесс отправки новых сообщений путем подключения/отключения зарядного кабеля. С правой стороны вы представили логику отправки HTTP-запроса в OpenAI API для получения своего рода сгенерированного «Случайного неизвестного факта».

Узел 5 в верхнем левом углу:

Часть процесса автоматизации

Имеет простую работу по перенаправлению потока на «Да, телефон был подключен к зарядному устройству» или «Нет, телефон был отключен от зарядного устройства».

Теперь, если телефон был подключен к зарядке, то я загружаю в бота свой секретный API-ключ и делаю запрос к OpenAI, вот так:

Часть процесса автоматизации

В двух словах, я использовал только 4 параметра:

  • Модель — тип модели, которую я хочу использовать. У GPT-3 пока только 4, которые можно увидеть в этом списке (я выбрал лучший из имеющихся, но и самый дорогой)
  • Подсказка — текст, который я хочу отправить на «GPT-3». Как упоминалось ранее, я использовал «Расскажи мне неизвестный факт». и это сработало (в данном случае я решил отправить его на своем родном языке, то есть на португальском).
  • Max_tokens —по сути, это максимальное количество слов, которое вы позволяете возвращать API (в среднем факты, которые я видел при тестировании на игровой площадке, содержат около 20 токенов, но время от времени они могут быть выше, поэтому я указал хорошая маржа в 100 токенов)
  • Температура — можно понимать как измерение креативности "GPT-3". Это означает, что чем выше температура, тем больше вероятность того, что он вернет необычный ответ (Более высокие значения, такие как 0,8, сделают вывод более случайным»). Если установлено значение 0, он будет пытаться каждый раз сообщать одинаковые факты.
  • Presence_penalty — Насколько я понимаю, это также влияет на случайность («Если цель состоит в том, чтобы сильно подавить повторение, то можно увеличить коэффициенты»), но согласно документации хорошие значения должны быть между 0,1 и 1», поэтому я оставил значение 0,6.

Конечно, есть еще параметры, из которых вы можете выбрать здесь, но я думаю, что их было более чем достаточно, чтобы получить желаемый результат.

Наконец, я решил добавить отказоустойчивый механизм для восстановления после ошибок, выдаваемых API, так как я заметил, что много раз он отвечал ошибкой. В этих случаях я просто зацикливаюсь до тех пор, пока статус ответа не станет равным 200 (или «запрос выполнен успешно»). И это то, что скрыто на следующем изображении:

Часть процесса автоматизации

Конечный результат

И… Вуаля! Это результат. С подсказкой вроде «Расскажи мне неизвестный факт». некоторые из результатов были:

  • «Человеческое тело имеет 60 000 миль кровеносных сосудов».
  • «Средний человек проходит вокруг света три раза за всю жизнь».
  • «Самым распространенным языком в мире является китайский язык, на котором говорят более 1 миллиарда человек».

По какой-то причине видео ниже не воспроизводится полностью в приложении Medium для Android, но вы можете полностью просмотреть его на компьютере (приносим извинения за неудобства):

Окончательный результат использования

В целом мне очень понравилось играть с OpenAI API в его песочнице (ссылка здесь) и возиться с некоторыми настройками. Во-первых, я пробовал со случайными шутками, но казалось, что независимо от того, насколько сильно я менял свои параметры, они всегда будут давать мне одни и те же шутки снова и снова, поэтому я решил преодолеть эту проблему, просто запрашивая неизвестные факты. И это сработало как шарм!

Спасибо за ваше время и надеюсь, вам понравилось! 🙏

для видео нажмите здесь