GN04. Бонусный урок. Подключение нейросети
✅ Спроектировали базу данных, создали её в Glide, научились связывать таблицы в базе данных с помощью полей Row ID и Relation
✅ Собрали первый экран приложения: узнали, как создавать экран приложения, добавлять на него компоненты, поняли, зачем нужна фильтрация и как её настраивать, научились группировать данные и настраивать actions
✅ Доделали приложение и опубликовали его: узнали, что такое формы добавления и редактирования, научились их настраивать, добавили на экран кнопки и настроили на них actions, научились использовать специальные поля базы данных, которые позволяют делать подсчёты, добавили в приложение график с анализом расходов
Подключим к приложению нейросеть, которая будет анализировать расходы и давать советы по сокращению расходов.
⌛ Время прохождения урока: ~ 1,5-2,5 часа
Внимание! Чтобы подключить нейросеть к Glide, тебе потребуется аккаунт Open AI и API-ключ. Мы подготовили материалы, которые помогут тебе с этим разобраться.
Однако если ты живёшь в России, могут возникнуть сложности, с которыми мы, в рамках бесплатного интенсива, не сможем помочь разобраться.
В этом случае мы предлагаем тебе посмотреть видео урока, чтобы понять, как подключать искусственный интеллект к приложению и какие возможности это открывает в мобильной разработке. А в пятницу посетить финальный вебинар, на котором наш эксперт продемонстрирует варианты использования разных нейросетей и откроет доступ к нашему бесплатному боту с уже встроенным Chat GPT.
Также в конце урока тебя ждёт альтернативное домашнее задание, которое не предполагает подключение нейросети, но всё равно позволит заработать зерокоины.
И всё-таки для полноценного использования искусственного интеллекта аккаунт в Open AI так или иначе потребуется. Если ты, как и мы, считаешь важным освоить нейросети, обрати внимание на программу Нейросети: от принципов к практике.
Подключаем аккаунт Open AI и получаем API-ключ
Чтобы подключить нейросеть к Glide тебе потребуется:
- Завести аккаунт в Open AI (это платформа компании, которая занимается разработкой и продвижением искусственного интеллекта, в частности их продукт — Chat GPT).
- Получить API-ключ, необходимый, чтобы подключить искусственный интеллект к Glide.
✅ API — это программа-посредник, которая обеспечивает обмен информацией между двумя или более приложениями. Если мы хотим к приложению, созданному на Glide, подключить сторонний сервис — Open AI, нам нужен специальный API-ключ (уникальный набор символов), который поможет это сделать.
В целом процесс регистрации очень прост:
- Переходим на сайт Open AI.
- Нажимаем на кнопку
Sign Up
и регистрируемся.
Но если ты живёшь в России с регистрацией могут возникнуть трудности. Есть несколько способов с ними справиться, разберём два из них.
Мария Размазина — эксперт-аналитик и действующий преподаватель Университета Zerocoder
Используя временный номер, будь готов к тому, что твой аккаунт могут заблокировать. Желательно использовать реальный заграничный номер (например, тебе может помочь кто-то из знакомых, живущих за границей).
- Подключаем и включаем vpn (например, hola).
- Получаем номер телефона той страны, которая подключена в vpn, например, помощью сайте 5SIM (нам нужен openai). Если находим нужный номер страны, регистрируемся, и пополняем счёт на сумму, равную стоимости номера. Сразу его не покупаем, так как он будет доступен ограниченное количество времени.
Пробуем первый способ регистрации:
- Включаем vpn, переходим в режим инкогнито, открываем сайт OpenAI.
- Нажимаем True рядом с ChatGPT.
- Нажимаем
Sing up
. - Вводим свой адрес электронной почты.
- Открываем почту, копируем адрес ссылки кнопки для верификации адреса, открываем её в режиме инкогнито. Иногда такой способ может сработать.
- Скачиваем и устанавливаем нужную версию Tor Browser.
- Когда браузер откроется, нажимаем кнопку
Соединиться
. Затем нажимаемТест
. Ставим галочку Всегда подключаться автоматически и нажимаемСоединиться
. - Заходим на сайт 2ip, чтобы проверить ip-адрес.
- Заходим в OpenAI, если видим, что попытка соединения не удалась, нажимаем
Попробовать снова
. На открывшейся странице нажимаем True. При необходимости обновляем страницу. НажимаемSign up
. - Переходим на сайт создания временной почты, копируем сгенерированный адрес. Нажимаем
Continue
. Подтверждаем, что мы не робот. Вставляем пароль и нажимаем Continue. При необходимости повторяем ещё раз.
Заведи отдельный файл в блокноте, чтобы сохранять в нём адреса, номера и пароли, которые используешь.
6. При необходимости пробуем другой сайт для создания временной почты, например этот.
7. Копируем полученный код с сайта временных почт и вставляем его на сайт чата. Проходим проверку, что мы — человек, нажимаем Continue
. Не забываем сохранить почту и пароль.
8. Ждём письмо с кнопкой верификации, нажимаем её. Если видим сообщение об ошибке, пробуем обновить страницу.
9. Вводим своё имя, можно ненастоящее (не забудь сохранить его в блокноте).
10. Проходим верификацию номера. Покупаем номер там, где это более выгодно. Вставляем в соответствующее поле. Нажимаем Send code
. Копируем пришедший код на сайте временных номеров и вставляем в соответствующее поле.
✅ API — программный интерфейс приложения. По сути, это инструкция приложения, в которой описаны методы и запросы, которые мы можем дать приложению для того, чтобы оно что-то сделало.
Посылая запрос по API, мы “говорим” приложению совершить определённое действие.
Взаимодействие по API осуществляется с помощью запросов, в которые включается ключ.
✅ API-ключ — это пароль, который позволяет нам обращаться к приложению.
Бывают открытые и закрытые API. Нам повезло, что у Open AI открытый — это означает, что мы можем связать его со всеми сервисами, у которых также открытый API (например, с Google-таблицами, Glide, Bubble, Directual).
Евгения Заяц — технический директор университета Zerocoder.
- Перейдем в личный кабинет на сайте ChatGPT.
- В верхнем правом углу нажимаем на значок аватара и выбираем
View API keys
.
3. Нажимаем Create new secret key
. Называем его произвольно, например, Glide.
4. Получаем подобную генерацию и нажимаем на значок рядом, чтобы скопировать её.
ОБЯЗАТЕЛЬНО скопируйте API-ключ себе в блокнот, потому что после нажатия кнопки Done он запишется в список ваших ключей и сократится (как на предыдущем скриншоте), и в целом виде вы его больше не увидите.
API интеграции у ChatGPT платные. Каждый запрос стоит денег. Ты платишь за токены. Посмотреть стоимость можно на странице прайсинга.
До недавнего времени на счету каждого аккаунта было 5 долларов для тестового периода интеграций. Проверить, есть ли они у вас, можно в разделе Usage.
Что делать, если не получается зарегистрироваться в Open AI и получить API-ключ? К сожалению, в рамках бесплатного продукта у нас нет возможности помочь тебе с решением этого вопроса. В этому случае просто посмотри видео этого занятия, чтобы узнать возможности нейросетей при создании мобильных приложений (в конце урока есть альтернативное домашнее задание на случай, если у тебя возникнут сложности с подключением Open AI, но ты хочешь заработать зерокоины).
Чтобы в полном объём использовать искусственный интеллект в мобильной разработке, аккаунт Open AI всё же потребуется. Если тебе интересная эта тема, обрати внимание на программу Нейросети: от принципов к практике.
1. Настраиваем интеграцию Glide и Open AI
Неплохо было бы оживить наше приложение, добавив в него немного искусственного интеллекта 🙂 Например, чтобы оно могло давать нам советы по сокращению наших расходов.
Перед началом работы тебе нужно зарегистрироваться на OpenAI и получить API-ключ. Когда ты это сделаешь, возвращайся в Glide.
- Нажимаем кнопку
Settings
в правом верхнем углу, переходим на вкладку Integrations, находим в списке OpenAI, нажимаемAdd to app
. - В открывшемся окне вставляем свой API-ключ.
- Если загорелась точка, это означает, что интеграция добавлена.
2. Делаем предварительную настройку экшена
Итак, мы хотим, чтобы на экране Анализ у пользователя была возможность задать вопрос через какую-то кнопку.
Добавляем кнопку на экране Анализ
- На экрана анализ добавляем новый компонент — Button.
- На панели справа появляются кнопки, однако мы не будем их менять, так как сейчас представлен самый яркий ее вариант, какой нам и нужен — поскольку кнопка на этом экране единственная, хотелось бы, чтобы она привлекала внимание.
- Название и иконку вы можете выбрать на свое усмотрение. Например, Получить совет и в качестве иконки магический шар.
- В поле выбора действия устанавливаем
Create new action
. - Оказываемся в редакторе действия. Даём действию название, например — Запрос к ИИ.
- Первый шаг действия User Interaction отвечает за источник данных. Он стоит по умолчанию, его изменить мы не можем, так как мы создавали экшен через таблицу Категории.
- Нажимаем на прямоугольник действия и выбираем OpenAi — Ask a question about a table.
- Настраиваем это действия с помощью появившейся формы:
По кнопке Select columns
выберем колонки в таблице Расходы, из которых нейросеть будет брать данные для анализа:
В таблице Users нам нужен столбец, в который будет записываться ответ искусственного интеллекта. Добавим его, а к настройкам действия вернёмся чуть позже. Закроем редактор экшена, нажав кнопку Close
.
Добавляем в базу данных колонку, в которой будут сохраняться ответы нейросети
- В редакторе данных выбираем таблицу Users.
- Создаём в ней новую колонку текстового типа, называем её Ответ ИИ.
Возвращаемся к настройкам действия для кнопки Получить ответ
- Возвращаемся в редактор интерфейса, выделяем в левом меню Button, на панели справа в секцию Action и нажимаем
Edit action
. - Снова оказываемся в редакторе действия и в поле Answer выбираем User Profile — Ответ ИИ.
3. Формулируем запрос к нейросети и тестируем, что получилось
На курсе Нейросети: от принципов к практике мы учим формулировать запросы к искусственному интеллекту так, чтобы получать максимально чёткий и соответствующий нашим требованиям ответ.
К формулировке вопроса нужно подойти серьезно. Чем конкретнее будет сформулирован ваш запрос, тем больше шансов получить адекватный ответ. Надо помнить, что нейросеть — это не человек. Если в ответ вы получаете что-то бессмысленное, первое, что нужно сделать, — это обратиться к запросу и подумать, как его можно переформулировать.
Это довольно нудная настройка, связанная с продолжительным этапом тестирования. Мы можем предложить в графе Question написать следующее:
Предложи короткий конкретный совет по сокращению моих расходов. Используй конкретные цифры и уложись в два предложения.
В Glide часто приходит не весь ответ целиком. Возможно, есть ограничение на объём передаваемых от нейросети данных. Поэтому формулировка про два предложения так важна.
Переходим к полю Additional context. Благодаря ему мы можем добавить больше конкретики, чтобы нейросеть лучше понимала, что мы вообще от нее хотим. Поскольку ответ должен строиться на анализе данных, так и напишем:
Ответ должен основываться на полученных данных. Все суммы указаны в рублях.
Итак, мы завершили настройку действия для кнопки Получить совет:
На экране Анализ нажимаем кнопку Получить совет
.
После этого она на некоторое время станет неактивной, а затем снова активной. Это означает, что нейросеть дала ответ. Как ты понимаешь, мы найдем его в таблице Users в столбце Ответ ИИ.
Попробуем немного скорректировать запрос для поля Question: в редакторе действия. Например, так:
Дай конкретный совет по сокращению моих расходов. Используй конкретные цифры и уложись в два предложения.
На курсе Нейросети: от принципов к практике мы учим формулировать запрос к искусственному интеллекту так, чтобы получать максимально чёткий и соответствующий нашим требованиям ответ.
4. Выводим ответ искусственного интеллекта на экран
Нам нужно, чтобы ответ искусственного интеллекта появлялся на отдельном экране после нажатия на кнопку Получить совет.
В Glide можно на один экшен добавить несколько действий.
Добавляем действие: показывать новый экран
- Возвращаемся в редактор действия и добавим ещё один шаг. Для этого нужно навести курсор на какой-то из шагов и нажать на появившейся
+
. - В качестве действия выбираем Show new screen (показать новый экран). Настраиваем его:
3. Разместим это действие перед действием отправки запроса (пусть сначала появляется новый экран, а потом отправляется запрос)
Настраиваем экран с ответом искусственного интеллекта
Теперь при нажатии на кнопку Получить совет пользователь видит такой экран:
- На панели слева удаляем все автоматически созданные компоненты.
- На панели справа в поле Title пишем Совет нейросети.
- На панели слева добавляем компонент
Hint
(можно добавить и просто Text, но Hint представлен в виде карточки, т.е. на цветном фоне). - На панели справа настраивает компонент:
Настраиваем экран с ответом в период ожидания
Мы замечаем, что проходит какое-то время, прежде чем до нас доходит ответ нейросети. Давайте позаботимся о том, чтобы во время ожидания экран не был пустым.
2. Дублируем его и немного перенастраиваем дубликат:
3. Объединяем оба компонента Text с помощью компонента Container.
4. Перетаскиваем контейнер наверх и в настройках Padding устанавливаем среднее значение, чтобы вокруг него было больше свободного места.
5. Настраиваем условия видимости контейнера. Переходим во вкладку Options. Здесь есть только одна опция — Visibility. Добавим для нее условие через кнопку Add condition
.
Таким образом, пользователь будет видеть часы и текст Формулирую ответ только в том случае, если ячейка в колонке с ответом ИИ будет пустой.
Настраиваем для пользователя возможность получить новый ответ от ИИ, если он уже делал запрос
- Закрываем экран ответа, на экране Анализ на панели слева выделяем компонент Button.
- Переходим в редактор его действия. Добавляем ещё один шаг —
Set column values
. И настраиваем его:
3. Этот шаг должен происходить раньше предыдущих, поэтому перетаскиваем его наверх, установив сама первым.
Сейчас советы нейросети могут казаться немного нелепыми, но это связано в первую очередь с тем, что мы внесли ненастоящие данные. Вы можете попользоваться приложением пару недель для чистоты эксперимента.
Публиковать приложение повторно после обновлений необязательно. После публикации приложение на Glide обновляется автоматически.