Установка и настройка робота Эра (SecondChain)
Пошаговая инструкция по развёртыванию голосового робота на проектном домене.
0. Подготовка сервера
Установка Docker
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
1. Настройка проброса заголовка в B2B
Мастер-домен → приложение Настройки. В конфигурации, в нодах B2B добавить проброс заголовка X-Robot-Session:
"fwd_headers": ["X-Robot-Session"],
Активировать новую конфигурацию.
2. Создать абонента для робота
Проектный домен → приложение Настройки. Создать нового абонента, под которым будет регистрироваться робот.
3. Создать канал интеграции для робота
Проектный домен → приложение Настройки. Создать новый канал интеграции:
- Тип — Подписчик
- Права —
ai_admin,ai_voicebot_admin - Режим активности — постоянный
4. Создать движок в приложении ИИ
Задать произвольные название и код. В поле Номер телефона указать внутренний номер абонента, созданного на шаге 2.
Количество сессий по умолчанию = 8. Точное число зависит от оборудования, на котором размещаются сервисы робота.
5. Развернуть сервисы инференса (vLLM, LightTTS, T-one Triton)
6. Создать БД в PostgreSQL
Установить или взять существующий инстанс Postgres, создать нового пользователя и базу для робота.
Пример с Docker:
docker run -d \
--name postgres \
--network host \
-e POSTGRES_USER=secondchain \
-e POSTGRES_PASSWORD=changeme \
-e POSTGRES_DB=secondchain \
-v pgdata:/var/lib/postgresql/data \
postgres:17
7. Заполнить .env
EXTERNAL_TEMPLATES_URL=https://[адрес инстанса эры]/rest/v1/model/ai/robot
EXTERNAL_TEMPLATES_TOKEN=[локальный токен из шага 3]
А также настройки Postgres и подключения SIP к учётной записи абонента из шага 2.
8. Загрузка образа и запуск контейнера
Скопировать на сервер архив с образом контейнера и файл .env в одну директорию.
docker load -i secondchain-1.0.3a-cpu.tar.gz
mkdir -p ./logs
docker run -d --name secondchain \
--network host \
--env-file .env \
--restart unless-stopped \
-v secondchain-data:/data \
-v ./logs:/app/logs \
secondchain:1.0.3a-cpu
docker logs secondchain -f
Когда сервис загрузится и проинициализируется, в консоли появится сообщение:
Registration: OK (code=200) [pjsip.account] [info ] SIP client registered successfully [voip.sip] [info ] VoIP health monitor started [src.api.app] [info ] SecondChain started successfully [src.api.app] [info ] Application startup complete. [uvicorn.error] [info ] Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
9. Создать робота в приложении ИИ
9.1. Загрузить голос
Необходим аудиофайл .mp3 или .wav длительностью ~10 секунд, без лишних шумов и эхо. При загрузке указать точную транскрипцию произнесённого текста (со знаками препинания).
Для быстрого старта можно импортировать демо-голос (импорт + загрузка файла).
9.2. Создать инструменты
Базовые инструменты работы со звонком.
9.2.1. drop_call
| Параметр | Значение |
|---|---|
| Имя | drop_call
|
| Код | drop_call
|
| description | Завершение звонка по инициативе робота |
| toolType | callManagement
|
| callAction | drop
|
| enabled | Да |
9.2.2. transfer_call
| Параметр | Значение |
|---|---|
| Имя | transfer_call
|
| Код | transfer_call
|
| description | Перевод звонка на оператора |
| toolType | callManagement
|
| callAction | transfer
|
| transferDestination | Короткий номер для перевода звонков (например, номер очереди) |
| enabled | Да |
9.3. Создать робота
Импортировать шаблон (Роботы.json). На вкладке Инструкции изучить рекомендуемый шаблон системного промпта, а также промпта пост-обработки звонка.
10. Проверить создание пользователя
После создания робота должен автоматически создаться пользователь Робот_имяРобота.
11. Проверить и установить статус пользователя
Приложение Супервизор контакт-центра → раздел Операторы → Текущие статусы. Убрать фильтры, найти пользователя робота и убедиться, что у него установлен статус Готов. При необходимости установить этот статус.
12. Добавить робота в очередь
Приложение Администратор контакт-центра → добавить робота как участника очереди. Тип участника = Робот. В остальном настройки идентичны.
13. Осуществить звонок
Настройка завершена. Можно совершить звонок в очередь и протестировать работу робота.