Предыстория

В предыдущей статье мы настраивали навык для Алисы, используя OpenAI GPT, что требовало зарубежного хостинга и создавалось множество сложностей. Теперь же появился более простой способ: использовать API DeepSeek — решение, для которого можно использовать любой подходящий хостинг.

Ссылки на материалы

Требования

  1. Хостинг с поддержкой PHP 7.4 и выше.

  2. Composer для управления зависимостями.

  3. Расширение cURL для PHP (включено по умолчанию на многих хостингах).

  4. API-ключ DeepSeek (получаете при регистрации в сервисе DeepSeek).

Совет: Обратите внимание на наличие HTTPS (SSL-сертификата). Яндекс.Диалоги не принимают запросы по незащищённому соединению. Если на вашем хостинге нет сертификата, используйте бесплатный Let’s Encrypt.

Шаг 1. Создаём сайт на хостинге

  1. Подготовьте окружение:

    • Убедитесь, что ваш хостинг поддерживает нужную версию PHP и установлен Composer.

    • Убедитесь, что доменное имя привязано и доступно по HTTPS.

  2. Добавьте сайт в панель управления хостингом:

    • Создайте новый домен или поддомен.

    • Настройте SSL-сертификат (например, Let’s Encrypt).

  3. (При необходимости) настройте DNS:

    • Если домен недавно куплен, дождитесь обновления DNS-записей.

Шаг 2. Подключение по SSH и клонирование репозитория

  1. Подключитесь к серверу по SSH:

ssh username@your-domain.com
  1. Перейдите в папку вашего сайта и клонируйте репозиторий:

git clone https://github.com/zabarov/alice-deepseek.git .
  1. Убедитесь, что в корне сайта появились файлы из репозитория (например, index.php, composer.json и т. д.).

Шаг 3. Установка зависимостей

Перейдите в корень проекта и выполните:

composer install

Это подтянет все необходимые библиотеки и пакеты. Если команда не срабатывает, проверьте, что Composer установлен и доступен в PATH.

Шаг 4. Настройка файла .env

  1. Создайте .env на базе примерного файла:

cp .env.example .env
  1. Откройте .env любым редактором (например, nano .env) и вставьте свой API-ключ DeepSeek:

DEEPSEEK_API_KEY=ваш_deepseek_api_key
  1. Сохраните изменения.

Важно: Файл .env не должен попадать в публичный репозиторий, чтобы API-ключ не стал доступен третьим лицам.

Шаг 5. Настройка навыка в Яндекс.Диалогах

  1. Создайте новый навык в Яндекс.Диалогах.

  2. Основные настройки:

    • Название навыка: придумайте короткое, легко узнаваемое имя.

    • Backend: пропишите адрес вашего сайта (например, https://your-domain.com/index.php).

    • Голос: можете выбрать любой, чтобы навык отличался от «голоса» Алисы.

  3. Опубликуйте навык. Яндекс проверит конфигурацию и, при корректной настройке, даст вам возможность протестировать.

Проверка работы

  1. В интерфейсе Яндекс.Диалогов:

    • Нажмите «Тестировать» и введите произвольную фразу, чтобы убедиться, что навык работает.

    • Посмотрите логи ответов, чтобы убедиться в корректной работе.

  2. В колонке или приложении Алисы:

    • Вызовите навык голосовой командой, например: «Алиса, запусти [название вашего навыка]» или «Алиса, спроси [название навыка]».

    • Убедитесь, что ответ приходит от GPT через DeepSeek.

Типичные ошибки и их решение

  1. Отсутствует защищённое соединение (HTTPS)

    • Без HTTPS Яндекс.Диалоги отклоняют запросы. Проверьте, что сертификат правильно установлен.

  2. Неверно прописан Backend

    • Убедитесь, что адрес index.php указан правильно и доступен извне (404/403 ошибка говорит об отсутствии доступа).

  3. Проблемы с DNS

    • Если домен новый, дождитесь обновления DNS (обычно от 1 до 24 часов).

  4. API-ключ не найден

    • Проверьте, что в .env корректно прописан DEEPSEEK_API_KEY.

    • Убедитесь, что файл .env не игнорируется Git или не пропущен при загрузке на сервер.

Дополнительные материалы

  1. Документация по API Алисы: https://yandex.ru/dev/dialogs/alice/doc/

  2. Документация по API DeepSeek: https://api-docs.deepseek.com/

  3. сайт Composer с документацией по установке и использованию: https://getcomposer.org/

Комментарии (1)


  1. SetGet
    12.01.2025 18:41

    Спасибо что узнал о наличии такой возможности, сейчас всё так быстро меняется что не успеваешь даже за возможностями следить не то что бы попробовать)