Заказчик
Отзывы фрилансеров:
+ 0
- 0
Зарегистрирован на сайте 2 года и 3 месяца
Бюджет:
по договоренности
1. Общее описание проекта
Цель: Перевести текущий стек голосового ассистента (Deepgram → OpenAI → Яндекс SpeechKit) на потоковую архитектуру для минимизации задержек между речью пользователя и ответом ассистента.
Текущие проблемы:
- Последовательная обработка данных (ASR → LLM → TTS) вызывает задержки в 3–5 секунд.
- Яндекс SpeechKit в текущей реализации не поддерживает потоковый ввод/вывод.
- Нестабильно перебивать ассистента во время ответа.
Ожидаемый результат:
- Ответ ассистента начинает воспроизводиться через 0.7–1.5 сек после окончания речи пользователя.
- Параллельная обработка аудио, текста и синтеза речи.
- Поддержка прерывания ответа.
1. Основные изменения
Бэкенд:
1. WebSocket-сервер (`src/ws/server`):
Реализовать параллельную обработку аудиопотока:
ASR (Deepgram) → OpenAI → TTS (Яндекс) без ожидания завершения этапов.
Использовать асинхронные очереди в `messageConsumer` для чанков.
2. Механизм перебивания:
При новом аудио вводе останавливать текущие генерацию ответа и синтез речи.
Фронтенд:
1. Аудиомодуль (`src/app/(chats)/[id]/audio`):
Поддержка потокового воспроизведения (Web Audio API).
2. Критичные доработки
- Интеграция потокового TTS:
Если Яндекс не поддерживает стриминг, заменить на ElevenLabs или реализовать буферизацию ответов по предложениям, предложить свой вариант.
- Оптимизация Deepgram:
Использовать `interim_results=True` для передачи частичной транскрипции в OpenAI.
- Очереди сообщений:
Внедрить RabbitMQ/Kafka в `messageConsumer` для управления параллельными задачами.
3. Стек
Бэкенд: Асинхронные модули (Deepgram, OpenAI, TTS) + WebSocket.
- Фронтенд: Web Audio API + обработка потокового аудио.
- Инфраструктура: Docker (если не настроено).
4. Критерии приемки
1. Ответ ассистента начинается ≤ 1.5 сек после речи пользователя.
2. Поддержка прерывания ответа.
3. Стабильная работа при 5000+ одновременных сессиях.
Риски: Если недостаточная производительность Яндекс TTS для потокового режима → потребуется замена на ElevenLabs или любой другой качественный голосовой сервис.
В зависимости от выбранного сервиса может понадобиться не забывать о правильности транскрипции и ударений.
Рассмотрю предложения с готовым решением (API сервисы) или покупку готового кастомного решения.
Разделы:
Опубликован:
26.02.2025 | 21:16
Заказ находится в архиве
Теги: написать программу, создать программу, разработать программу, разработчики программ, прикладной программист