Как интегрировать ChatGPT в Siri

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Siri — классная помощница. Она умеет показывать погоду, считать и конвертировать деньги. Но на конкретные вопросы она не ответит: просто покажет сборник ссылок, где и что можно прочитать. Эту проблему можно решить — интегрировать в нее ChatGPT. И тогда по запросу «Как приготовить пиццу» вместо десятка ссылок она расскажет реальный рецепт. Вот инструкция, с помощью которой можно интегрировать нейросеть в Siri.


Регистрируемся в OpenAI и создаем API-ключи

О том, как зарегистрироваться в сервисе рассказывать не буду, на эту тему есть уже много статей. Напомню, что для регистрации вам нужен VPN и зарубежный номер для приема SMS. 

После того, как зарегистрируетесь, нужно создать API-ключи. Для этого переходите на сайт platform.openai.com/overview → кликаете на иконку аккаунта в правом верхнем углу → выбираете «view API keys».

На открывшейся странице нажмите на «Create new secret key», придумайте название для него и скопируйте выданный ключ.

Второе — устанавливаем набор команд через Shortcuts

Быстрые команды в iOS — это набор автоматических действий, которые можно запустить вручную или через Siri. С ChatGPT такие команды работают через API: в конструкторе команд нужно задать последовательность, чтобы айфон первым делом обращался с ChatGPT через API-ключ, а потом выдавал ответ. Такую команду можно написать с нуля, а можно взять уже готовую из открытого доступа.

Я нашел два варианта и попробовал оба.


Первый вариант выложил на GitHub китайский разработчик. Второй можно скачать напрямую из Apple Команд.

Устанавливаем первый вариант

Для этого переходим на GitHub и выбираем последнюю версию на английском. Сейчас это 1.2.5. 

Важно! Переходить нужно сразу с устройства Apple, потому что ссылка перенаправит вас в библиотеку быстрых команд.

После перехода по ссылке у вас автоматически откроется окно с настройкой команды. В нем нужно нажать «настроить быструю команду».

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

На остальных этапах нужно просто нажимать «далее» и «добавить».

Теперь команда настроена и ей можно пользоваться. Чтобы вызвать бота, скажите «Привет, Siri, ChatGPT 1.2.5». Согласен, это не очень удобно, поэтому команду лучше переименовать.


Для этого зайдите в командах в раздел «Мои команды» и кликните на 3 точки в правом верхнем углу добавленного сценария (у вас он будет называться ChatGPT 1.2.5, а я уже сменил название на One).

В открывшемся меню в левом верхнем углу кликните по названию команды и в списке выберите «Переименовать».

Введите любое название, которое хотите. Теперь можно вызвать бота по запросу «Привет, Siri One». Если высветиться Siri и скажет «I am here, always at your service!», значит, с ботом можно общаться. Для этого просто задайте боту любой вопрос на любом языке, он ответит.

Я для примера спросил у бота, как приготовить тесто для пиццы. Вот, что он ответил.

Если задать такой же вопрос Siri, она ответит просто ссылками.

В общем, бот работает и нормально отвечает на запросы. Правда, он почему-то быстро закрывает свои ответы. Т.е., секунд через 15-30 окошко с ответом пропадет. И, если вы не успели все прочитать, бота это не волнует;)

Эту проблему можно решить — общаться с ботом текстом через полноценный аналог ChatGPT в виде быстрой команды. И Siri здесь не понадобится.

Чтобы обращаться к боту текстом, добавим его на главный экран. Для этого нажмите кнопку «поделиться» и выберите «на экран Домой»

Теперь бот появится на главном экране. Для его запуска нужно нажать на иконку и откроется чат. В нем вводите запрос и нажимаете «готово».

Бот отвечает секунд 30.

Готово! Теперь мы знаем, как приготовить тесто для пиццы.

Устанавливаем второй вариант

Здесь такая же последовательность как и в первом варианте. Но есть несколько нюансов.

Сначала добавляем саму команду.

Когда команда добавится, переходите в «мои команды» и открывайте настройки SiriGPT через 3 точки в верхнем правом углу сценария.

В настройках найдите поле «ADD API KEY HERE» и добавьте туда свой API-ключ.

Теперь спуститесь вниз к блоку «продиктовать текст». Кликните на стрелку в кружке, чтобы открыть расширенное описание и смените язык с «По умолчанию» на «Русский». Без этого команда будет жаловаться, что не может распознать речь и что вы не подключены к интернету.

Теперь бот настроен и его можно запускать командой «Привет, Siri SiriGPT». А можно добавить его на главный экран и запускать по кнопке. В этом случае текст нужно будет диктовать боту. 

Какая из команд лучше

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

Второй вариант отвечает хуже, а при общении через Siri он забывает контекст после первого же вопроса. Либо вообще отключается и вместо него включается обычная Siri.

В любом случае, рекомендую попробовать оба варианта, это интересно;)