Чат GPT в колонке Алиса
В последнее время мне приходится активно использовать чат GPT в своей работе, а дома для музыки и управления умным домом я использую колонки Алиса. Алиса очень удобна в использовании и управлении, однако иногда ей не хватает интеллекта и гибкости, присущих последним моделям от OpenAI. Я подключил Yandex GPT Pro с последней версией модели, но это особо не помогло. Поэтому я задумался: можно ли использовать чат GPT на колонке Алиса? Следует отметить, что я не разработчик и хотел реализовать это максимально просто, используя имеющиеся у меня ресурсы.
На первый взгляд, тема кажется заезженной — сейчас чат GPT подключают практически ко всему, разве только не к утюгам. Но, как ни странно, на эту тему я нашёл только одну статью на Хабре. Вооружившись чатом GPT, я решил конвертировать код из данной статьи на Python в PHP (поскольку под PHP проще найти хостинг).
Требования
Чтобы воспользоваться этим скриптом, вам потребуется:
Обычный хостинг для веб-сайтов на PHP с зарубежным IP (API от OpenAI не работает на территории России).
Ключ API OpenAI.
Поддержка PHP 7.4 или выше.
Composer для управления зависимостями.
Расширение cURL для PHP.
Я использовал Timeweb Cloud. Там можно быстро поднять сервер в Нидерландах, установить FASTPANEL и создать сайт. Можно выбрать самую недорогую конфигурацию. Полезные ссылки:
Порядок установки
Шаг 1: Создайте сайт на хостинге
НУстанавливать можно как в корневую папку, так и в любую другую папку на хостинге. Папка, в которой будет происходить установка, должна быть пустой.
Шаг 2: Подключитесь к серверу через консоль
Используйте SSH для подключения к вашему серверу. Пример команды для подключения:
ssh username@your-domain.com
Шаг 3: Клонируйте репозиторий в текущую директорию
Важно: Убедитесь, что текущая директория пуста, чтобы избежать конфликтов файлов.
git clone https://github.com/zabarov/alice-gpt.git .
Шаг 4: Установите зависимости с помощью Composer
Выполните следующую команду в корневой директории вашего сайта:
composer install
Шаг 5: Создайте файл .env на основе .env.example
Выполните команду:
cp .env.example .env
Шаг 6: Откройте файл .env и добавьте ваш OpenAI API ключ
Используйте текстовый редактор, например, nano:
nano .env
Добавьте строку с вашим API ключом:
OPENAI_API_KEY=ваш_openai_api_key
Сохраните и закройте файл.
Настройка навыка для колонки Алиса
Далее необходимо настроить навык для колонки Алиса. Лучше всего создавать навык на том же аккаунте, на котором работает колонка Алиса. В этом случае вам не придётся проходить модерацию, и расходы будут меньше.
Шаг 1: Перейдите в Яндекс.Диалоги и создайте новый диалог
Нажмите на кнопку «Создать диалог».
В появившемся окне выберите тип навыка «Навык в Алисе».
Шаг 2: Заполните параметры навыка
Имя навыка:
Выберите любое имя, по которому вы будете вызывать данный навык. Подберите такое имя, которое хорошо распознаётся колонкой, потому что если указать «GPT», Алиса сообщит, что уже использует GPT. Имя навыка должно состоять минимум из двух слов.
Укажите адрес вашего хостинга, где размещён скрипт. Например:
https://your-domain.com/index.php
Голос:
Чтобы не путать при включённом навыке, рекомендуется выбрать голос отличный от Алисы.
Укажите команды, которые вы будете использовать для вызова навыка. Например:
Запусти навык {Название навыка}
Тип доступа:
Выберите «Приватный».
Шаг 3: Дополнительные настройки
Укажите: Имя разработчика, Категорию, Описание, Иконку
Так как вы создаёте навык только для себя, содержание этих пунктов не так важно.
Шаг 4: Публикация навыка
После заполнения всех настроек нажмите кнопку «Опубликовать» в правом верхнем углу. Публикация занимает некоторое время.
Проверка работоспособности
Перейдите на вкладку «Тестирование» в интерфейсе Яндекс.Диалогов.
Проверьте работу навыка, введя одну из ваших команд. Тестирование можно провести как для черновика, так и для опубликованной версии навыка.
После успешного тестирования и публикации навыка вы можете вызывать его командой (указанной вами) Алисе.
Ссылка на репозиторий