ru24.pro
Работа
Ноябрь
2024
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

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

0
Задание:
1. Необходимо настроить потоковую передачу данных между веб клиентом(сайтом) и нейронными сетями.
2. Сделать механизм перебивания во время общения с нейронной сетью

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

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

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

ПРОБЛЕМЫ

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