Poznaj Eleven v4Poznaj Eleven v4, nasz najbardziej emocjonalny model. 3× więcej kredytów w planie Creator+ do 12 października

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 stosu oprogramowania. Większość firm już go ma albo go tworzy. Mniej z nich wie jednak, co zrobić, gdy użytkownik woli po prostu porozmawiać.

Głos zmienia interakcję nie tylko pod względem wygody. Użytkownicy wyrażają frustrację, pośpiech i dezorientację tonem głosu — czego tekst całkowicie nie oddaje. 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 przeczytać transkrypcję, działa na podstawie zaledwie połowy informacji.

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

W trakcie Warsztatu na żywo: nadaj swojemu chatbotowi tekstowemu głos, który brzmi po ludzku, 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 i pokazali, jak wygląda działająca integracja.

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

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

W efekcie system często traktuje każdą pauzę jako zaproszenie do odpowiedzi: przerywa, ucina wypowiedzi w pół zdania i reaguje na naturalne wahania, jakby były skończonymi zdaniami.

Technicznie działa, 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ę, ale 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.

Jest też narzut inżynieryjny. Zespoły, które samodzielnie zarządzają orkiestracją głosu, muszą stale utrzymywać logikę zmiany kolejki wypowiedzi, obsługę przerwań i profilowanie opóźnień. To nie jest jednorazowe wdrożenie.

Jak dodać głos do istniejącego agenta

Najprostszym podejściem jest architektura z dwoma połączeniami WebSocket. 

  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 i wysyłany na twój serwer
  3. Twój serwer przekazuje do LLM całą historię rozmowy otrzymaną z API ElevenLabs, a odpowiedź przesyłana strumieniowo wraca do syntezy dźwięku
  4. Może to zacząć się, zanim LLM skończy generować odpowiedź — dzięki czemu opóźnienie do pierwszego bajtu jest 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. Dzięki temu jeden agent może 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 głębokiego rozumowania wprowadzają pauzy, które w audio brzmią jak nienaturalne wahanie, 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 WebSockets. WebRTC ma wbudowane usuwanie echa i redukcję szumów, co jest szczególnie ważne na urządzeniach mobilnych i w hałaśliwym otoczeniu. Przy przesyłaniu audio przez WebSockets musisz zająć się tym samodzielnie.
  3. Nie proś użytkowników o wybór języka. Zakłóca to płynność rozmowy. Lepszym rozwiązaniem jest wykrycie języka w pierwszych kilku sekundach wypowiedzi i ustalenie go — pozwala to też płynnie zmieniać język bez żadnego działania ze strony użytkownika.
  4. Oddziel model zmiany kolejki wypowiedzi od LLM. Używanie LLM do ustalania, czy użytkownik skończył mówić, zwiększa opóźnienia i koszty przy każdej turze. Specjalny model zmiany kolejki wypowiedzi robi to szybciej i dokładniej, więc warto traktować go jako osobny komponent 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 (z zachowaniem LLM, orkiestracji i logiki biznesowej) jest zwykle 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 analiz, warto przekazać większą część stosu platformie agentów głosowych. Te dwa podejścia się nie wykluczają — zespoły mogą zacząć od lekkiej warstwy głosowej, a potem dodawać możliwości platformy wraz z rozwojem 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 rekomendacje dzielnic i jedzenia na wyjazd do Japonii.

Co pokazaliśmy:

  • Chatbot został rozszerzony o warstwę głosową bez 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; agent automatycznie wykrył zmianę języka
  • Gdy agentowi przerwano i poproszono go o powrót do angielskiego w połowie zdania, zrobił to — a odpowiedź dokończył z lekkim niderlandzkim akcentem, bez takiej prośby.
  • Przez całą rozmowę wykrywanie przerwań pozwalało użytkownikowi naturalnie mówić w trakcie wypowiedzi agenta, bez czekania, aż ten skończy swoją turę.

Dlaczego to ważne: 

Demo nie pokazywało stworzonego od podstaw agenta głosowego. Pokazywało działającego już agenta tekstowego, do którego dodano warstwę głosową. Obsługa kontekstu, wykrywanie języka i reagowanie na przerwania pochodziły z warstwy głosowej — bazowy agent tekstowy pozostał bez zmian. 

Obejrzyj całą sesję

Obejrzyj cały webinar tutaj.

Dodaj głos do istniejącego agenta na dużą skalę

Szukasz czegoś innego? Zajrzyj do Centrum pomocy

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