Этот шаблон n8n представляет собой голосового чатбота для обслуживания клиентов и ресторанов, который использует технологии ElevenLabs и OpenAI. Давайте разберем его пошагово.
Основная функциональность
Шаблон позволяет:
- Получать голосовые запросы от пользователей через webhook.
- Преобразовывать голос в текст с помощью ElevenLabs или аналогичных инструментов.
- Анализировать текст с помощью OpenAI для формирования ответа.
- Генерировать голосовой ответ с использованием ElevenLabs.
- Отправлять голосовой ответ обратно пользователю.
Пошаговое описание работы
1. Триггер: “Webhook”
- Это точка входа в рабочий процесс.
- Шаблон активируется, когда пользователь отправляет голосовой запрос через webhook.
- Голосовой файл передается в следующий узел для обработки.
Примечания:
- Webhook принимает аудиофайл (например,
.wav
или.mp3
) от пользователя. - Если вы хотите подключить другой способ взаимодействия (например, через Telegram или Discord), это можно настроить.
2. Преобразование голоса в текст: “ElevenLabs Voice-to-Text”
- Этот узел использует ElevenLabs для преобразования голосового сообщения в текст.
- Для работы требуется аудиофайл, который был отправлен через webhook.
Настройки:
- API ElevenLabs используется для транскрипции аудио.
- Поддерживается обработка различных языков.
3. Анализ текста: “OpenAI Chat Model”
- Здесь используется модель OpenAI для анализа текстового запроса.
- Модель генерирует ответ на основе входного текста.
Особенности:
- Можно использовать различные модели OpenAI (например, GPT-4o, gpt-4o-mini).
- Поддерживаются параметры, такие как температура (
temperature
) и частота повторений (frequency_penalty
).
4. Управление памятью: “Memory Manager”
- Этот узел управляет контекстом диалога.
- По умолчанию сохраняется последние 10 сообщений (размер окна памяти).
- Это помогает поддерживать последовательность диалога и учитывать предыдущие запросы.
Примечания:
- Память временная. Если нужно сохранить историю разговоров, можно использовать базу данных (например, Postgres через Supabase).
5. Генерация голосового ответа: “ElevenLabs Text-to-Speech”
- Этот узел использует ElevenLabs для преобразования текстового ответа в голос.
- Для работы требуется текст, сгенерированный OpenAI.
Настройки:
- Выбор голоса (например, мужской или женский).
- Настройка тональности и эмоций голоса.
6. Отправка голосового ответа: “Send Audio Response”
- Этот узел отправляет сгенерированный голосовой файл обратно пользователю.
- Может быть интегрирован с различными платформами (например, Telegram, Discord, или другие API).
7. Sticky Notes (Заметки)
В шаблоне используются заметки для объяснения функционала каждого узла:
- “Webhook Trigger”: Объясняет, как работает триггер и какие альтернативы доступны.
- “ElevenLabs Voice-to-Text”: Описывает этапы преобразования голоса в текст.
- “OpenAI Chat Model”: Рассказывает о выборе модели и ее настройках.
- “Memory Manager”: Объясняет, как работает память.
- “ElevenLabs Text-to-Speech”: Подробно описывает генерацию голосовых ответов.
Какие задачи решает этот шаблон?
Автоматизация голосового взаимодействия:
- Пользователи могут отправлять голосовые запросы и получать голосовые ответы.
Улучшение пользовательского опыта:
- Агент уточняет детали, если запрос неясен.
- Диалог поддерживается естественным образом.
Интеграция с OpenAI и ElevenLabs:
- Используется мощная модель для анализа запросов и выполнения действий.
Как расширить функциональность?
Добавить больше инструментов:
- Например, добавить возможность отправлять аудио или видео.
Интеграция с другими API:
- Можно добавить инструменты для работы с Gmail, Slack или другими сервисами.
Хранение истории запросов:
- Использовать базу данных для сохранения результатов.
Мультиязычная поддержка:
- Настроить агента на работу с разными языками.
Пример использования
Пользователь: Задает голосовой вопрос: “Какой у вас режим работы?”
Система:
- Преобразует голос в текст: “Какой у вас режим работы?”
- Анализирует текст с помощью OpenAI.
- Генерирует ответ: “Мы работаем с 9:00 до 21:00 каждый день.”
- Преобразует текст в голос.
Система: Отправляет голосовой ответ пользователю.