# Voximplant + YDB Reservations Bot Demo ## Что это? Это голосовой чат-бот, реализованный в партнерстве с облаком Voximplant. - В качестве стораджа используется Yandex Database - Системная логика реализована на Yandex Functions - Телефония в Voximplant - Распознавание речи и построение диалога в Google Dialogflow ## Как развернуть ### Yandex Cloud Сперва нужно создать сервисный аккаунт c правами`ydb.admin` и `serverless.function.invoker`, который будет использоваться облачной функцией. #### Yandex Database Нужно создать базу YDB и убедиться, что у нее доступен белый ip адрес. Завести необходимые таблицы можно в UI облака скриптом `ydb/ddl.sql`, а залить начальные данные можно с помощью `ydb/dml.sql`. #### Yandex Function Функцию создаем с сервисным аккаунтом, созданным ранее. В `./cloud_function` лежат файлы, которые необходимо загрузить в UI функции. В той же директории лежит `./cloud_function/config.py` в котором описаны ENV-перменные. А для секретов есть папка `./cloud_function/secrets`, в которую необходимо положить json сервисного аккаунта и SSL-сертификаты. Они нужны для доступа к YDB. Подробнее про получение доступа к YDB можно почитать в [примере запуска тестового приложения на YDB](https://cloud.yandex.ru/docs/ydb/quickstart/launch-test-app). #### Google Dialogflow Необходимо создать учетную запись в Google Cloud и импортровать `./dialogflow/agent.zip`. Сохраните сервисный аккаунт Google Cloud для следующего шага. #### Voximplant - Создаем аккаунт на voximplant - Создаем приложение - Добавляем сценарий, куда вписываем `./voximplant/scenario.js` - Покупаем телефонный номер (можно недорого купить тестовый) - Создаем правило роутинга, в которое прикрепляем сценарий и номер Более подробно все описано в статье ["ИИ продает пиццу"](https://habr.com/ru/company/Voximplant/blog/412663/)