Настроить потоковую передачу данных

Цена договорная
13 ноября 2024, 17:01 • 3 отклика • 88 просмотров
Задание:
1. Необходимо настроить потоковую передачу данных между веб клиентом(сайтом) и нейронными сетями.
2. Сделать механизм перебивания во время общения с нейронной сетью

Как выполнено сейчас:

1. Соединение вебсокета, через webtrc захват микрофона, данные отправляются на бек через сокет. Сокет принимает байты и отправляет в дипграм, с дипграма отправляет в опенаи, переносит в голос и отправляет звук на фронт. Фронт воспроизводит звук
2. Перебивание - Есть очередь, в очередь добавляется сообщение, очередь обрабатывает сообщение и отправляет ответ, очередь обрабатывает дальше

Стек реализации:
React, Webrtc, Socket.io, OpenAI, Deepgram

ПРОБЛЕМЫ

1. Голос кодируется в байты и отправляется в дипграмм, но в 60 процентах случаев после раскодировки дипграмма выходит пустое сообщение(будто в голосе ничего не было). Но если ловить сообщение до попадания в дипграм, то оно успешно воспроизводится
2. Ассистентом можно воспользоваться 1 раз, если его закрыть/перезапустить, то дипграмм всегда выводит пустое сообщение после раскодировки. Но это проблема исправляется, если перезагрузить страницу с кешем