Автоматизация ChatGPT в Zapier, ИИ ассистент читает почту и присылает анализ в Telegram
Эта история о том, как я без кода сделал ИИ-ассистента на базе ChatGPT, который читает мою почту, преобразует вложения в Google Документы, анализирует в них данные и пишет мне в Telegram об обнаруженных проблемах.
Всем привет! Это один из первых постов в нашем блоге, и в нем я хочу поделиться примером того, какие интересные применения искусственного интеллекта использует наша команда для выполнения задач.
Предыстория
На одном из проектов у меня настроена простая, но эффективная реклама в Яндекс.Директ. Кампании были едиными на поиск и РСЯ, но с 1 июля Яндекс отключил ручное управление ставками в сетях. Пришлось разделить все кампании, настроек я не менял и с спокойной душой пошел спать. А на следующий день увидел такую картину: у трех кампаний отказы около 50%, дешевый клик и нулевые конверсии.
Причина банальная: начались показы на всяких мусорных площадках типа DSP Yandex, которые раньше меня обходили стороной. Хорошо, что увидел это достаточно вовремя, слил всего около 3 тысяч рублей, техподдержка Яндекса, конечно же, ответила банальной отпиской.
Подобных ситуаций за несколько лет было несколько, и они не сильно меня беспокоили. Но в этот раз я подумал, можно ли настроить в Директе или Метрике уведомления на случай превышения отказов выше 25%. Оказалось, что нельзя, можно настроить только ежедневные отчеты из Яндекс.Метрики на почту.
Наверняка есть какие-то простые решения этой задачи, но так как у меня "ИИ головного мозга", я сразу же подумал, а что если ChatGPT будет сам автоматически анализировать отчеты и писать мне в случае обнаружения проблем. Друг предложил настроить это всё на сервере с использованием API ChatGPT, но ради такой простой задачи строить костыли не хотелось. Стало интересно, есть ли уже готовые решения без кода, и такие довольно быстро обнаружились - это сервис Zapier и его российский аналог Albato.
ИИ ассистент или будущее уже наступило
Эти сервисы позволяют создавать автоматизированные цепочки задач, связывая разные сервисы между собой. Например, вы получаете письмо с вложением, оно преобразуется в Google Документ, создается карточка в Trello, и вам приходит об этом сообщение в Telegram и так далее.
Но теперь в эти цепочки можно интегрировать ChatGPT на любых этапах, что значительно расширяет возможности. Условно, это уже ИИ-ассистент, который не только создаст документ или карточку по шаблону, а еще и проанализирует информацию и даст осознанный (насколько это на сегодня возможно) ответ. А также выполнит более сложные и комплексные задачи, а в каких-то случаях даже сможет за вас отвечать на письма или переписки.
Как я строил велосипед в Zapier
И я решил попробовать создать себе тестового ассистента на примере относительно простой задачи с отслеживанием показателя отказов. Я использовал Zapier (тестовый период 2 недели), так как нашел его сначала и плюс разобрался, как использовать в нем именно ChatGPT 4.0, в Albato я нашел только версию 3.5. Но по тарифам Albato значительно дешевле.
Имейте в виду, что в обоих сервисах ChatGPT не бесплатный, нужно иметь аккаунт OpenAI и возможность пополнять его баланс. Карты РФ не принимаются, либо использовать зарубежную, либо через сервисы и посредников.
Итак, моя цепочка получилась небольшой и выглядит вот так:
Хоть я и упомянул фразу "без кода" и программировать не требуется, но и не сказал бы, что эта настройка была простой. Сервис интуитивный, есть ИИ-помощник для создания цепочек, но на некоторых этапах я конкретно застревал. Некоторые технические знания все же требуются, но есть поддержка и комьюнити, которое ответит на вопросы и поможет с интеграцией.
Расскажу более детально, как построить подобную цепочку. Возможно, её можно как-то упростить; если вы знаете как, то обязательно пишите в комментариях.
Вкратце работает она так:
- На Gmail приходит письмо с вложением от Яндекс Метрики.
- Из вложения выгружается файл.
- Данные из файла заносятся в заранее созданную Гугл Таблицу.
- Из Гугл Таблицы выгружаются данные.
- Данные с заранее прописанным промтом отправляются в ChatGPT.
- Ответ ChatGPT приходит мне в личные сообщения в Телеграме.
Подробная инструкция
Регистрируетесь в сервисе и в личном кабинете нажимаете Create > Zaps и попадаете в рабочее пространство построения цепочек. Сервис предложит создать связку по описанию с помощью ИИ (неплохо работает) или начать вручную.
Trigger это с чего начинается выполнение задачи, Actions это последующие действия.
1. New Attachment in Gmail
Нажимаем Trigger, выбираем Gmail, указываем Event — New Attachment. Кликаем Continue, привязываете свой аккаунт (такое нужно повторять для всех сервисов в связке). В Trigger указываете папку и поисковую фразу, если обрабатывать нужно только определенные письма.
В блоке Test можете протестировать, все ли верно работает; должно отобразиться нужное нам письмо.
2. Only continue if...
У меня почему-то никак не получалось следующим действием отправить файл сразу в Google Документ. В каком-то гайде увидел, что нужно добавить этот шаг, называется он "Filter by Zapier".
3. Replace File in Google Drive
Сервис Google Drive, Event — Replace File, параметры такие:
- Folder — папка, где находится файл
- File to Replace — заранее созданная Google Таблица, у меня это CSV файл, преобразованный в таблицу, поэтому не обращайте внимания на название. По сути, можно создать новую пустую таблицу.
- File — вложение из письма
- Convert to Document — True
- File Name — то, как будет называться файл после замены. Я случайно указал текст из темы письма, и файл переименовался в неё. Правильнее это поле оставить пустым.
Тестируем шаг в блоке Test, если все ок идем дальше.
4. Get Many Spreadsheet Rows
Больше всего времени я потратил на этом шаге, мне никак не удавалось добиться того, чтобы ChatGPT читал либо Google Документ, либо сразу файл из вложения письма. Либо это невозможно, либо я не смог разобраться. В очередном гайде или форуме нашел, что надо извлечь данные из таблицы этим шагом.
В Actions такие настройки. Выбираете файл и указываете все столбцы и количество строк. Я указал 300, максимум — 500.
5. Conversation in ChatGPT
Самое интересное, добавляем следующим шагом ChatGPT, Event — Conversation. Для интеграции аккаунта потребуется API-ключ ChatGPT, при добавлении аккаунта в Zapier будет понятная инструкция, где его взять. А также нужен положительный баланс в OpenAI; в моих тестах каждый запрос тратил 1-2 цента.
Параметры шага следующие:
В сообщении я описываю свою задачу и предоставляю данные именно через фильтр Raw Rows, который выгружает все данные из таблицы. Модель выбрал самую продвинутую, остальные поля не заполнял, ограничил только количество используемых токенов.
В блоке Test вы должны увидеть нормальный ответ ChatGPT, если все работает правильно. В моем случае он нашел все объявления с отказами выше 30% и выписал их списком.
6. Send Message in Telegram
Получаем ответ удобным способом, для меня это Telegram. Можно отправлять куда угодно — на почту, создавать задачу в Trello или другом сервисе и так далее.
Выбираем Telegram и Event — Send Message. Ответ приходит от вашего личного Телеграм-бота, который создается через BotFather. Я просто действовал по инструкции при интеграции Telegram-аккаунта, там все просто, заняло около 5 минут.
Настройки шага следующие:
Готово, все должно работать, можно публиковать и тестировать связку. Если у вас на каком-то шаге что-то не получается или вы нашли способ, как упростить всю эту конструкцию, то пишите в комментарии.
Итоги и нюансы
Нюанс заключается в том, что ChatGPT будет писать мне сообщение, даже если нет объявлений с отказами выше 30%. То есть, как настроить так, чтобы при таком условии он не отправлял мне сообщение, я еще не придумал.
Итого, кажется, что для такой простой задачи это костыли, соглашусь, но это лишь тесты и проверка работоспособности. При должной фантазии и изобретательности можно строить более сложные и интересные цепочки, создавая полноценного ИИ-помощника. Или применить это в других направлениях, например, создать автономный Telegram-канал: указываете источники информации и даете ChatGPT задачу писать посты определенной длины, которые сразу публикуются в вашем канале. Либо личный секретарь, который, зная информацию о ваших услугах и ценах, может отвечать на запросы клиентов.
Спасибо тем кто смог дочитать это все до конца. Буду рад вашим комментариям и вопросам.