---
# System prepended metadata

title: Voximplant + YDB Reservations Bot Demo

---

# 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/)
