Przejdź do treści

Podsumowanie webinaru: Dodaj swojemu chatbotowi głos, który brzmi naturalnie

Opublikowano
Ostatnia aktualizacja

PosłuchajPosłuchaj tego artykułu

Agenci czatowi stali się standardową częścią firmowego oprogramowania. Większość firm już ich ma lub je tworzy. Mniej z nich wie, co zrobić, gdy użytkownik woli po prostu porozmawiać.

Głos zmienia interakcję w sposób, który wykracza poza samą wygodę. Użytkownicy wyrażają tonem frustrację, pilność i dezorientację — a tekst całkowicie to zaciera. Klient, który pisze „moje zamówienie nie dotarło”, i klient, który mówi to z wyraźnym niepokojem, wysyłają różne sygnały — a agent, który może tylko odczytać transkrypcję, ma zaledwie połowę informacji.

Pytanie, które zadaje sobie dziś większość zespołów, nie brzmi „czy dodać głos?”, lecz „jak to zrobić bez przebudowywania wszystkiego, co już działa?”.

Podczas Warsztatu na żywo: Nadaj swojemu chatbotowi tekstowemu głos, który brzmi jak ludzki Paul Asjes (Developer Experience), Bhargavi Bhatt (Customer Experience) i Fergal Burnett (Product Marketing, ElevenAPI) omówili techniczne aspekty dodawania głosu do istniejącego agenta oraz to, jak naprawdę wygląda działająca integracja.

Dlaczego tworzenie rozwiązań głosowych jest trudniejsze, niż się wydaje

Jednym z głównych wyzwań jest zmiana tury w rozmowie. Ludzie wiedzą, kiedy ktoś skończył mówić, dzięki intonacji, rytmowi i kontekstowi. Wykrywanie aktywności głosowej (standardowe podejście) wykrywa jednak tylko ciszę.

Efektem często jest system, który każdą pauzę traktuje jak zaproszenie do zabrania głosu: przerywa, ucina wypowiedzi w połowie i reaguje na naturalne zawahania, jakby były pełnymi zdaniami.

Działa technicznie, ale w rozmowie zawodzi.

Kontekst to druga połowa problemu. Przekazywanie historii rozmowy do LLM przy każdej turze jest konieczne, ale niewystarczające. Te same słowa znaczą coś innego zależnie od sposobu ich wypowiedzenia — „wszystko w porządku” powiedziane z ulgą i „wszystko w porządku” powiedziane z frustracją mają tę samą transkrypcję, lecz oznaczają inną interakcję. System głosowy, który ignoruje ten wymiar, zawsze będzie brzmiał trochę nienaturalnie, niezależnie od jakości poszczególnych modeli.

Dochodzi też nakład pracy inżynieryjnej. Zespoły, które samodzielnie odpowiadają za orkiestrację głosu, muszą stale utrzymywać logikę zmiany tury, obsługę przerwań i analizę opóźnień. To nie jest jednorazowe wdrożenie.

Jak dodać głos do istniejącego agenta

Najprostszym rozwiązaniem jest architektura z dwoma WebSocketami. 

  1. Jedno połączenie działa między klientem a API ElevenLabs, a drugie między twoim serwerem a API ElevenLabs
  2. Użytkownik mówi do mikrofonu, dźwięk trafia do API ElevenLabs, gdzie jest transkrybowany, a potem wysyłany na twój serwer
  3. Twój serwer przekazuje LLM całą historię rozmowy otrzymaną z API ElevenLabs, a odpowiedź strumieniowana wraca do syntezy mowy
  4. Może to zacząć się, zanim LLM skończy generować odpowiedź — dzięki temu opóźnienie do pierwszego bajtu pozostaje niskie 

Kluczowym punktem integracji jest metoda onTranscript , która uruchamia się na końcu każdej tury i przekazuje pełną historię rozmowy do LLM. 

Wywołanie contextualUpdate na początku sesji przenosi wszystko, co wydarzyło się w tekstowej części rozmowy, zanim użytkownik przeszedł na głos. To pozwala jednemu agentowi działać w obu formach bez utraty kontekstu.

speech-engine

O czym warto pamiętać podczas tworzenia:

  1. Wybór LLM ma większe znaczenie w głosie niż na czacie. Modele do głębokiego rozumowania wprowadzają pauzy, które w audio brzmią jak nienaturalne zawahanie, nawet jeśli jakość odpowiedzi jest wyższa. W głosie działającym w czasie rzeczywistym szybsze modele niemal zawsze wygrywają pod względem odbieranej jakości.
  2. Do audio wybieraj WebRTC zamiast WebSocketów. WebRTC ma wbudowaną redukcję echa i szumów, co jest szczególnie ważne na urządzeniach mobilnych i w hałaśliwym otoczeniu. Korzystanie z WebSocketów do przesyłania audio oznacza, że musisz obsłużyć to samodzielnie.
  3. Nie proś użytkowników o wybór języka. To zaburza płynność rozmowy. Lepszym rozwiązaniem jest wykrycie języka w pierwszych kilku sekundach mowy i ustawienie go — pozwala też płynnie go zmienić bez żadnego działania ze strony użytkownika.
  4. Oddziel model zmiany tury od LLM. Używanie LLM do określania, czy użytkownik skończył mówić, zwiększa opóźnienia i koszty przy każdej turze. Dedykowany model zmiany tury robi to szybciej i dokładniej, więc warto traktować go jako osobny element architektury.

Ile infrastruktury utrzymywać samodzielnie

Właściwa odpowiedź zależy od tego, co już masz. Jeśli masz działającego agenta czatowego, dodanie warstwy głosowej przy zachowaniu LLM, orkiestracji i logiki biznesowej zwykle jest najszybszą i najmniej ryzykowną drogą. 

Nie przebudowujesz niczego. Dodajesz interfejs audio do czegoś, co już działa.

Jeśli potrzebujesz też telefonii, zarządzania kanałami wdrożenia, wbudowanych testów i analityki, warto przekazać większą część stacku platformie agentów głosowych. Te dwa podejścia się nie wykluczają — zespoły mogą zacząć od lekkiej warstwy głosowej i dodawać funkcje platformy w miarę rozwoju zastosowania.

Demo: Dodawanie głosu do istniejącego chatbota

To demo pokazuje użytkownika w trakcie rozmowy z tekstowym chatbotem do planowania podróży, który prosi o polecenia dzielnic i jedzenia na wyjazd do Japonii.

Co pokazaliśmy:

  • Chatbot zyskał warstwę głosową bez żadnych zmian w bazowym agencie.
  • Użytkownik przeszedł z pisania na mówienie w trakcie rozmowy — agent zachował pełny kontekst w obu formach.
  • Użytkownik mówił po niderlandzku, a agent automatycznie wykrył zmianę języka
  • Gdy agentowi przerwano i poproszono go w połowie zdania o powrót do angielskiego, zrobił to — i bez dodatkowej prośby dokończył odpowiedź z lekkim niderlandzkim akcentem.
  • Przez całą rozmowę wykrywanie przerwań pozwalało użytkownikowi naturalnie mówić w trakcie wypowiedzi agenta, bez czekania, aż agent skończy swoją turę.

Dlaczego to ważne: 

Demo nie pokazywało stworzonego specjalnie agenta głosowego. Pokazywało działającego już agenta tekstowego z dodaną warstwą głosową. Obsługa kontekstu, wykrywanie języka i zachowanie przy przerwaniach pochodziły z warstwy głosowej — bazowy agent tekstowy pozostał bez zmian. 

Obejrzyj całą sesję

Obejrzyj cały webinar tutaj.

ElevenLabs workshop on human-like chatbot voices, hosted by Paul Asjes, Bhargavi Bhatt, and Fergal Burnett.

Podobne artykuły

Twórz z najwyższej jakości audio AI