Как подключить ИИ-ассистента* на технологии OpenAI** к мессенджерам*** на вашем смартфоне**** (кликбейт)
О сносках
В названии статьи используется кликбейт первого уровня (см. видео о кликбейтах на англ. и на рус.), чтобы повысить количество просмотров. К сожалению, данная мера является вынужденной, автор просит прощения за это.
* В принципе, термин "ИИ" я не считаю оправдывющим себя. Мне плевать, что говорят зумеры и их папаши - главы корпораций, раздувая хайп и повышая стоимость акций. Я являюсь противником роботов и сильного ИИ. День, когда наши творения перестанут нам подчиняться в полной мере, станет для человечества последним.
** В перечень технологий OpenAI в данной статье не входит GPT-3.5 или GPT-4, соответственно, и ChatGPT
*** Среди понятия "мессенджеры" отсутствует VK Messenger
**** Если только смартфон на ОС не iOS и не Windows, только Android
Серия Disclaimer'ов
Общий дисклеймер
- Публикация предназначена для просмотра с устройства под управлением клавиатуры. Настоятельно рекомендуется подключить мышь или использовать тачпад;
- Это одна из первых статей автора на подобных площадках, хотя он конкретно с Хабром официально связан с 2014 года, по факту - с 2012 г.;
- Стиль изложения автора состоит из:
- Академический, ввиду 10+ лет стажа в образовательно-научной академическо-РАНимой среде педагогическо-студенческих отношений;
- Двачёво-лурко-постиронично-стёбный, ввиду 10+ лет обитания в нижнем сегменте Рунета;
- Адекватный (редко, почти никогда).
- Официально подтвержденным уровнем интеллекта автора является IQ 38. Просьба учесть данный аспект при реакции на материал, прежде чем перейти к обвинениям или оскорблениям;
- Статья скорее всего является для вас бесполезной, так как по факту это результат графоманства автора.
О личности автора
- Ввиду крайней степени инфантильности автор отказывается от ответственности за содержимое статьи, вашу реакцию на неё, её отдельные части и словообразования, а также не является аффилированным лицом ни в какой степени к упоминаемым в статье терминам;
- Автор вежливо предлагает перестать читать статью при появлении первых признаков жжения в районе пятой точки у читателя;
- В случае с полным прочтением статьи и вызванными эффектами из пункта выше, автор чуть менее вежливо предлагает съездить по заданным координатам (https://goo.gl/maps/Q6PudQ3aBTfV9PuL7).
Соглашения по статье
Отказ от ответственности
Настоящим подтверждаю, что все материалы, опубликованные на сайте Habr.com, являются исключительно информационными и не являются рекламой, советом или предложением для принятия каких-либо финансовых решений. Материалы описаны в своеобразном стиле русского языка и может содержать грамматические, орфорграфические, стилевые, речевые, фактические, генетические ошибки (включая автора).
Автор не несет ответственности за любые последствия, вытекающие из использования информации, представленной в материале. Любая информация, предоставленная на этом сайте, может быть неточной или не актуальной, и автор не гарантирует ее точность или полноту.
Автор также не несет ответственности за любые убытки или ущерб, которые могут возникнуть в результате использования информации, содержащейся в материале. Использование информации, размещенной на сайте, находится на условиях исключительной ответственности читателя в соответствии с соглашением сайта Habr.com. Автор не несет ответственности за любые действия или бездействия, предпринятые на основе информации, содержащейся в материале.
Автор не несет ответственности за содержание сторонних сайтов, на которые предоставляется доступ через ссылки в материале. Автор не контролирует эти сайты и не несет ответственности за их содержание и реакцию читателя.
Настоящий отказ от ответственности применяется ко всему содержимому статьи на сайте Habr.com и действует в пределах законодательства и личной воли автора по отношению к читателям и администрации сайта.
С уважением, мнимым или настоящим,
Кеня
Дисклеймер, применяемый к данному материалу
Автор гарантирует, что основной текст работы, равно как и его части, не написан ChatGPT или иными продуктами на основе машинного обучения.
TL;DR
1. Заводим аккаунт OpenAI;
2. Качаем Autoresponder for TG, например, для Телеграма;
3. Создаем правило для всех сообщений с маской *
, вставляем туда токен для GPT-3;
4. ???????
5. PROFIT!
«Кстати, я думаю, что в будущем тет-а-тет разговор в мессенджере без роботов будет цениться так же сильно, как в каком-нибудь XVIII веке переписка у аристократов. Будем в стиле Мандалорца говорить "No droids" перед началом откровенного диалога»
© какой-то /b/ из Двачей
Проблема
Сужу по себе. Учитывая, что среди контактов у человека, а их у каждого в телефонной книге более 4000, могут попадаться различного рода коллеги - и, что самое страшно, новые! - а также: друзья, знакомые, знакомые друзей знакомых, сокамерники, соплеменники, сожители, соучастники, братья по несчастью, братья по оружию, просто братья и все родственники, надзиратель, следователь по особо важным делам, Тайлер Дёрден и ближайший психотерапевт... А также учитывая то, что в день может случиться до 20+ диалогов в самых разных мессенджерах, и некоторые из них по классическому непониманию могут привести к падению прода... Я задумался об автоматизации этого аспекта жизни.
Что, если можно будет отдать переписку "на аутсорс", чтобы унять часть тревожности и поднять чувство собственной важности?
Реквизиты
Для осуществления нашего плана вам нужны следующие вещи:
1. Аккаунт OpenAI (из РФ немного проблематично его получить, но можно попробовать инструкцию отсюда);
2. Смартфон на Android версии не старше 5 (например, у меня такой, версия на 12/256);
3. Установленный предпочитаемый мессенджер из глобального топ-5 (ссылка);
4. Установленное приложение из серии Autoresponder.ai, подходящее к мессенджеру из пункта выше. Устанавливаем из Google Play либо со всем известного в Рунете форума о мобильных устройствах, ибо приложения стоят дороговато. Я ни на что не намекаю, за меня расскажет мой рейт раздающего на Рутрекере...
Инструкция
1. Создайте ключ API в аккаунте Open AI, скопируйте его. Желательно бы ещё сохранить в менеджер паролей;
2. Откройте приложение из серии Autoresponder.ai для подходящего мессенджера, дайте все разрешения, в т. ч. разрешение на чтение уведомлений. Учтите, что вендор вашего смартфона может препятствовать этому;
3. Создайте правило, выберите режим "Сопоставление с образом", введите символ *
;
Вот так
4. Теперь поставьте галочку на пункте "Подключить OpenAI ChatGPT/GPT-3", оставьте проставленные после нажатия параметров без изменений;
Вот так
5. Вставьте ключ API, скопированный в пункте 1, в соотвествующее поле "ключ API".
6. Настройка завершена! Переписывайтесь. Учтите, что переписка будет вестись только в незаглушенных чатах, от которых прилетают уведомления, и только тогда, когда вы находитесь не в мессенджере.
Как это работает?
Впитывай, нормис. Механизм таков: приложение получает уведомления от определенного мессенджера, делает HTTP-запрос к нейросети, получает ответ и как бы программно нажимает на кнопку "Ответить", отправляя этот ответ собеседнику.
В результате небольшого количества мыслительных процессов, мучительно выкручивающих мои IQ 38 на максимум, я сделал выводы о том, какие данные доступны приложению:
Дата отправки и дата получения уведомления. Соответственно, можно вычислить дельту (пинг + работу процессора);
Имя собеседника и дополнительные данные о нём;
Аватар собеседника и/или группового чата;
Частоту отправки уведомлений;
Сервисные сообщения от мессенджера;
Текст непосредственно сообщения, включая расово верную принадлежность (возможно) находящимся в нём эмодзи, стиль написания сообщения и, если позволяет API Android, предыдущие сообщения в переписке, что позволяет задать дополнительный уточняющий контекст переписке. В тексте сообщения могут быть персональные/чувствительные данные, секреты, коды запуска ядерных ракет, координаты "сочельника", мисгендеринг, менспрединг, "чёрные почтальоны", Виталий Милонов, нарушение кодекса джедая, читы на GTA: San Andreas, уведомление от сервиса доставки и приглашение в качалку от ♂️Boss of the gym♂️. Это из того, что мне попадалось.
Результаты
Выводок:
Учитывая мои IQ 38 и соответствующее ко мне отношение людей и женщин, те были приятно удивлены, как их зачастую не вполне понимающий ситуацию собеседник внезапно оказался намного более эрудированным, менее эрегированным и реагирующим на любые их сообщения с должной сноровкой, выдавая от 10 до 100 слов за две секунды. Тем не менее, уже на четвертом-пятом сообщении, как правило, их радость улетучивалась, как только они осознавали, что я их опять налюбил, просто подставив особо умного бота в диалог между мной и ими. Иные люди, как правило, более комптентные в теме ИИ, пытались вызнать, каким образом я встроил нейросеть (какой бы она, по их догадкам, ни была) в личные сообщения. Другие же, будучи киберсквоттерами (я владею ~~шестизнаком~~ коротким юзернеймом в ТГ), спамерами, скамерами, скримерами, мошенниками, волшебниками, нигерийскими принцами и прочими людьми, которые зачастую сами и есть боты, по достоинству оценили нововведение и отожрали компьюта на $5 за несколько дней.
Циферки:
Из более, чем 70 диалогов за полноценные 10 дней и чуть менее полноценный 11-й, статистика следующая:
60% людей спалили контору, а один из коллег потребовал перестать подключать ботов в переписку. Базу выдал, одобряю;
40% собеседников-спамеров не заметили подвоха.
Скриншотики:
Скриншоты:
Известные ограничения
Модель, используемая в приложении — это GPT-3 (text-davinci-003
), в то время как ChatGPT и продукты Microsoft (Teams, пакет Office, Azure AI и пр.) орудуют GPT-3.5, а Bing так вообще работает на угрожающе качественной по способностям модели GPT-4. Поправьте меня, если я ошибаюсь.
Тем не менее, я уверен, что это не простая отправка HTTP GET напрямую к серверу OpenAI. И без всякого сниффера мой нюх чуял, что запрос шлётся сначала на сервера разработчика, который, видимо, в дополнительном prompt'е задаёт небольшой уклон на рекламу услуг Autoresponder.ai, изобилующую в данной статье (извините за это, но по-другому я их приложения пока назвать не смог). Причиной этому то, что если в переписке собеседник начнет что-то подозревать, то при вопросе "ты кто" модель ответит: "Мы такая-то компания, такие-то услуги даём, пользуйтесь и качайте!". Побороть данное поведение я не смог.
Приложение прекрасно разделяет контекст от собеседника к собеседнику. Даже внутри группового чата модель отвечает каждому в соответствии с заведенной темой. Кому надо, ответ даст, с кем-то формально общаться будет, с кем-то подружески. Одному пояснит, что Россия права во всём, а второму вразумит, что Россия также права во всём, но он при этом еще и национал-либерал и предатель, которому светит срок за разжигание антиправительственных лозунгов (гуглите, как сымитировать ответ от нейросети DAN). Как это устроено, учитывая, что в API OpenAI нет методов для управления контекстами - для меня загадка.
Несмотря на умение вести диалог, подменяя личности, модель страдает еще одним психическим заболеванием - шизофренией. То она изображает из себя джуна в команде (хотя, уверен, на сто вперед умнее меня), то работника в оперативной полиграфии, то они находятся в офисе разработчика приложения...
Примеры:
Также приложение не умеет отправлять мультимедиа, только текст. Это вытекает из предназначения модели и того факта, что в Android нельзя прикрепить медиафайл к уведомлению (странно, 2023 год на дворе всё-таки...). Ну, нет у уведомлений и API в Android, чтобы можно было выбрать на устройстве файл и отправить его, не открывая мессенджер. Разве я многого прошу?
Caveats
Из кариеса у нас есть:
Неограниченный доступ к уведомлениям телефона, хотя те же репакеры с форума, применившие какой-то хитрый LuckyPatcher, авторитетно пояснили, что в своих исходниках приложение не читает все уведомления:
Hidden text
Невозможность абсолютно свободно указать нейросети промпт, это за нас делает сервер разработчика, либо их приложение.
Советы
Данный способ заставить нейросеть говорить за тебя и вести за тебя переписку, имеет право на жизнь только в качестве "поиграться" и сжечь халявный компьют на $18 от OpenAI.
Мне кажется, что в Tasker можно относительно сотворить аналогичное решение, не пользуясь дорогими и сторонними приложениями. Ждём конфиг?..
P. S. В результате эксперимента автор, к сожалению, остался жив и здоров, даже не уволен.