Внедрение Voiceflow для построения голосовых и чат AI-агентов

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Внедрение Voiceflow для построения голосовых и чат AI-агентов
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Разработка голосовых и чат-агентов на Voiceflow

Voiceflow — визуальная платформа для создания conversational AI агентов, работающих как в голосовом, так и в текстовом режиме. Ключевое преимущество: один и тот же диалоговый флоу разворачивается на телефонии (Twilio), веб-чате, мессенджерах и голосовых ассистентах (Alexa, Google Assistant) без дублирования логики.

Архитектура мультиканального агента

Voiceflow Canvas (визуальный редактор)
            ↓
      Agent Runtime
     /      |      \
 Voice    Chat    API
(Twilio) (Web)  (Custom)

Типы блоков в Voiceflow:

  • Speak / Text — ответ агента
  • Choice — кнопки или ключевые фразы для выбора
  • Capture — захват пользовательского ввода (entity extraction)
  • API Block — HTTP-запрос к внешнему сервису
  • Code Block — JavaScript-логика для сложных вычислений
  • AI Response — генеративный ответ через GPT с контекстом

Интеграция через Voiceflow Dialog Manager API

import requests

class VoiceflowDMClient:
    """Взаимодействие с агентом через Dialog Manager API"""

    def __init__(self, api_key: str, version_id: str):
        self.api_key = api_key
        self.version_id = version_id
        self.base_url = "https://general-runtime.voiceflow.com"
        self.headers = {
            "Authorization": api_key,
            "versionID": version_id,
            "Content-Type": "application/json"
        }

    def send_message(self, user_id: str,
                      message: str,
                      variables: dict = None) -> list[dict]:
        """
        Отправка сообщения и получение ответов агента.
        user_id: уникальный идентификатор сессии/пользователя
        Returns: список ответных трейсов (текст, кнопки, аудио)
        """
        payload = {
            "action": {
                "type": "text",
                "payload": message
            },
            "config": {
                "tts": False,
                "stripSSML": True
            }
        }

        if variables:
            payload["variables"] = variables

        response = requests.post(
            f"{self.base_url}/state/user/{user_id}/interact",
            json=payload,
            headers=self.headers
        )
        traces = response.json()

        # Парсим ответы
        responses = []
        for trace in traces:
            if trace["type"] == "text":
                responses.append({
                    "type": "text",
                    "content": trace["payload"]["message"]
                })
            elif trace["type"] == "choice":
                responses.append({
                    "type": "buttons",
                    "buttons": [b["name"] for b in trace["payload"]["buttons"]]
                })
            elif trace["type"] == "end":
                responses.append({"type": "end"})

        return responses

    def launch_session(self, user_id: str,
                        variables: dict = None) -> list[dict]:
        """Запуск новой сессии (начало диалога)"""
        payload = {"action": {"type": "launch"}}
        if variables:
            payload["variables"] = variables

        response = requests.post(
            f"{self.base_url}/state/user/{user_id}/interact",
            json=payload,
            headers=self.headers
        )
        return response.json()

Voiceflow оптимален для команд, которые хотят единую базу диалогов для разных каналов. Особенно эффективен для customer support агентов с базой знаний: Knowledge Base блок подключает векторный поиск по документам прямо в canvas. Разработка типового support-агента: 1-2 недели, мультиканальный агент с интеграциями — 3-4 недели.