Hoppa till innehållet

Webinar-sammanfattning: Ge din textchattbot en röst som låter mänsklig

Publicerad
Senast uppdaterad

LyssnaLyssna på den här artikeln

Chattagenter har blivit en självklar del av företags mjukvarustack. De flesta företag har en, eller håller på att bygga en. Färre har kommit fram till vad som händer när en användare hellre bara vill prata.

Röst förändrar interaktionen på sätt som spelar roll långt utöver bekvämlighet. Användare uttrycker frustration, brådska och förvirring genom tonfall på sätt som text helt tar bort. En kund som skriver ”min beställning har inte kommit” och en kund som säger det med hörbar oro sänder olika signaler – och agenten som bara kan läsa transkriptionen arbetar bara med halva informationen.

Frågan de flesta team nu ställer är inte om de ska lägga till röst, utan hur de gör det utan att bygga om allt som redan fungerar.

I Live Workshop: Ge din textchatbot en röst som låter mänsklig, gick Paul Asjes (Developer Experience), Bhargavi Bhatt (Customer Experience) och Fergal Burnett (Product Marketing, ElevenAPI) igenom de tekniska realiteterna med att lägga till röst till en befintlig agent och hur en fungerande integration faktiskt ser ut.

Varför det är svårare än det verkar att bygga med röst

En av de största utmaningarna är turtagning. Människor vet när någon har talat klart tack vare intonation, rytm och sammanhang. Voice activity detection (standardmetoden) upptäcker däremot bara tystnad.

Resultatet blir ofta ett system som behandlar varje paus som en inbjudan att tala: ett system som avbryter, klipper av mitt i en tanke och reagerar på naturliga tveksamheter som om de vore avslutade meningar.

Det fungerar tekniskt, men samtalet fungerar inte.

Sammanhanget är den andra halvan av problemet. Att skicka samtalshistoriken till en LLM vid varje tur är nödvändigt, men inte tillräckligt. Samma ord får olika betydelse beroende på hur de sägs – ”jag mår bra” sagt med lättnad och ”jag mår bra” sagt med frustration ger samma transkription, men olika interaktioner. Ett röstsystem som ignorerar den dimensionen kommer alltid att låta lite fel, oavsett hur bra de enskilda modellerna är.

Det tillkommer också utvecklingsarbete. Team som ansvarar för sin egen röstorkestrering behöver löpande underhålla logik för turtagning, avbrottshantering och latensprofilering. Det är inget man bygger en gång.

Så lägger du till röst till en befintlig agent

Det smidigaste tillvägagångssättet är en arkitektur med dubbla WebSockets. 

  1. En anslutning går mellan klienten och ElevenLabs API, och en annan mellan din server och ElevenLabs API
  2. Användaren talar i sin mikrofon, ljudet skickas till ElevenLabs API där det transkriberas och skickas till din server
  3. Din server skickar hela samtalshistoriken som den får från ElevenLabs API  till LLM:en, och det strömmade svaret skickas tillbaka för ljudsyntes
  4. Detta kan påbörjas innan LLM:en har genererat klart – vilket håller latensen till första byten låg 

Den viktigaste integrationspunkten är metoden onTranscript som körs i slutet av varje tur och skickar hela samtalshistoriken till LLM:en. 

En contextualUpdate vid sessionens start tar med allt som hände i textdelen av samtalet innan användaren bytte till röst – vilket gör att en och samma agent kan fungera i båda formaten utan att förlora sammanhanget.

speech-engine

Några saker att tänka på när du bygger:

  1. Valet av LLM spelar större roll för röst än för chatt. Modeller för avancerat resonemang skapar pauser som uppfattas som onaturlig tvekan i ljud, även om svarskvaliteten är högre. För röst i realtid vinner snabbare modeller nästan alltid när det gäller upplevd kvalitet.
  2. Välj WebRTC framför WebSockets för ljud. WebRTC har inbyggd eko- och brusreducering, vilket är särskilt viktigt på mobila enheter eller i bullriga miljöer. Om du använder WebSockets för ljudöverföring måste du hantera det själv.
  3. Be inte användare att välja språk. Det bryter samtalsflödet. Ett bättre mönster är att identifiera språket från de första sekunderna av tal och låsa det – det möjliggör också smidiga språkbyten utan att användaren behöver göra något.
  4. Håll din modell för turtagning separat från din LLM. Att använda LLM:en för att avgöra när en användare har talat klart ökar latensen och kostnaden vid varje tur. En särskild modell för turtagning hanterar detta snabbare och mer exakt, och bör ses som en separat komponent i arkitekturen.

Hur mycket infrastruktur du ska äga

Rätt svar beror på vad som redan finns. Om du har en fungerande chattagent är det oftast snabbast och minst riskfyllt att lägga ett röstlager ovanpå den, samtidigt som du behåller din LLM, orkestrering och affärslogik intakta. 

Du bygger inte om något. Du lägger till ett ljudgränssnitt till något som redan fungerar.

Om behoven omfattar telefoni, hantering av distributionskanaler, inbyggda tester och analys är det rimligt att överlåta mer av stacken till en plattform för röstagenter. De två metoderna utesluter inte varandra – team kan börja med ett enkelt röstlager och lägga till plattformsfunktioner i takt med att användningsfallet mognar.

Demo: Lägg till röst till en befintlig chatbot

Den här demon följer en användare som är mitt i ett samtal med en textbaserad chatbot för reseplanering och ber om rekommendationer på stadsdelar och mat inför en resa till Japan.

Det här gick vi igenom:

  • Chatboten utökades med ett röstlager utan några ändringar i den underliggande agenten.
  • Användaren bytte från att skriva till att tala mitt i samtalet – agenten behöll hela sammanhanget i båda formaten.
  • Användaren talade nederländska; agenten upptäckte språkbytet automatiskt
  • När agenten avbröts och ombads att byta tillbaka till engelska mitt i en mening gjorde den det – och avslutade svaret med en svag nederländsk accent, utan uppmaning.
  • Under hela samtalet gjorde avbrottsidentifieringen det möjligt för användaren att naturligt prata över agenten utan att agenten avslutade sin tur.

Varför det spelar roll: 

Demon visade inte en specialbyggd röstagent. Den visade en textagent som redan fungerade, med ett röstlager ovanpå. Hanteringen av sammanhang, språkidentifieringen och avbrottsbeteendet kom alla från röstlagret – den underliggande textagenten var oförändrad. 

Se hela sessionen

Se hela webbinariet här.

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

Liknande artiklar

Skapa med AI-ljud av högsta kvalitet