Gå till innehåll

Hur optimerar du latens för Conversational AI?

Latens är det som skiljer bra Conversational AI-appar från riktigt bra.

Diagram of a speech processing system showing data flow from user input to output speech, including components like telephone network, ASR, VAD, LLM, TTS, and latency indicators.

För de flesta appar är latens inget större problem. Men för conversational AI är det just latensen som avgör om en app är bra eller riktigt bra.

Målet med conversational AI är att ge samma känsla, närvaro och röst som ett mänskligt samtal – och samtidigt vara smartare än en människa. För att lyckas med det måste appen kunna prata utan långa tysta pauser. Annars försvinner realismen direkt.

Utmaningen med latens i conversational AI blir större eftersom processen är uppdelad i flera steg. Conversational AI består av flera delprocesser, alla i framkant inom sina områden. Varje steg lägger till lite extra latens.

Som ett företag som jobbar med generativa röster har vi lagt mycket tid på att hitta sätt att minimera latens för conversational AI. Nu vill vi dela med oss av våra insikter, i hopp om att de kan hjälpa dig som vill bygga conversational AI-appar.

Fyra kärnkomponenter

Varje conversational AI-app består av minst fyra steg: speech-to-text, turordning, textbearbetning (t.ex. LLMs) och text-to-speech. Även om stegen körs parallellt bidrar varje steg med viss latens.

Latensekvationen för conversational AI är speciell. Många processer har en tydlig flaskhals, men här är latensen för varje steg ungefär lika stor. Det gör att den totala latensen blir summan av alla delar.

Automatic Speech Recognition

Systemets “öra”

Automatic speech recognition (ASR) – ibland kallat speech-to-text (STT) – omvandlar tal till text.

ASR:s latens är inte tiden det tar att skapa texten, eftersom speech-to-text körs i bakgrunden medan du pratar. Istället är det tiden mellan att du slutar prata och att texten är klar.

Flowchart showing user input speech processed by ASR system.

Därför kan både korta och långa tal ge liknande ASR-latens. Latensen kan variera mellan olika ASR-lösningar (I vissa fall finns ingen nätverkslatens alls eftersom modellen körs direkt i webbläsaren, som i Chrome/Chromium). Den vanliga open source-modellen Whisper lägger till 300 ms+ latens. Vår egen lösning lägger till mindre än 100 ms.

Turordning / Avbrott

Systemets “instinkt”

Turordning / Avbrott (TTI) är ett mellansteg som avgör när användaren har pratat klart. Modellen bakom kallas Voice Activity Detector (VAD).

Turordning bygger på flera regler. Ett kort ljud (t.ex. “mm”) ska inte starta en ny tur – då skulle samtalet kännas hackigt. Modellen måste avgöra när du faktiskt vill ha systemets uppmärksamhet och när du är klar med det du vill säga.

En bra VAD ska inte signalera en ny tur så fort den hör tystnad. Det finns tystnad mellan ord och fraser, och modellen måste vara säker på att du verkligen är klar. För att göra det behöver den lyssna efter en viss mängd tystnad (eller snarare, frånvaro av tal). Det här steget ger en fördröjning som bidrar till den totala latensen.

Flowchart showing the process of speech recognition and language modeling, with steps including input speech, ASR, VAD, and LLM.

Tekniskt sett, om alla andra delar av conversational AI hade noll latens, skulle latensen från TTI vara positiv. Människor väntar också en stund innan de svarar. Om maskinen gör likadant känns samtalet mer naturligt. Men eftersom de andra stegen redan har latens, vill vi hålla TTI-latensen så låg som möjligt.

Textbearbetning

Systemets hjärna

Nu behöver systemet skapa ett svar. Idag görs det oftast med en Large Language Model (LLM), som GPT-4 eller Gemini Flash 1.5.

Valet av språkmodell spelar stor roll. Modeller som Gemini Flash 1.5 är väldigt snabba – de kan ge svar på under 350 ms. Mer avancerade modeller som klarar svårare frågor – som GPT-4-varianter och Claude – kan ta mellan 700 och 1000 ms.Att välja rätt modell är oftast det enklaste sättet att minska latensen när du optimerar conversational AI.

Men latensen för LLM är tiden det tar att börja generera tokens. Dessa tokens kan direkt skickas vidare till nästa steg, text-to-speech . Eftersom text-to-speech går i samma takt som mänskligt tal, är LLM alltid snabbare – det viktigaste är tiden till första token (alltså time to first byte).

Flowchart of speech processing system showing input speech, ASR, VAD, LLM, and TTS components with data flow and latency indicated.

Det finns fler faktorer som påverkar LLM-latensen än bara modellvalet. Till exempel längden på prompten och storleken på kunskapsbasen. Ju mer modellen måste ta hänsyn till, desto längre tid tar det. Därför gäller det att hitta en balans mellan tillräckligt mycket kontext och att inte överbelasta modellen.

Text to Speech

Systemets mun

Sista steget i conversational AI är text-to-speech (TTS). Text-to-speech-latensen är tiden det tar att börja prata efter att ha fått tokens från textbearbetningen. Det är allt – eftersom fler tokens kommer in snabbare än mänskligt tal, är latensen bara tiden till första byte.

Diagram of a speech processing system showing input speech, ASR, VAD, LLM, TTS, and output speech with data flow and latency indicators.

Tidigare var text-to-speech ganska långsamt och kunde ta 2–3 sekunder att generera tal. Men moderna modeller som vår Turbo-motor kan skapa tal på bara 300 ms, och nya Flash TTS är ännu snabbare. Flash har en modelltid på 75 ms och kan nå 135 ms end-to-end time to first byte audio-latens – bäst i branschen (vi måste få skryta lite!).

Ytterligare faktorer

Utöver de fyra stegen finns det några fler saker som påverkar den totala latensen för conversational AI.

Nätverkslatens

Det kommer alltid att finnas viss latens när data skickas mellan olika platser. För vissa conversational AI-appar bör ASR, TTI, LLM och TTS helst ligga på samma plats, så att enda nätverkslatensen är mellan användaren och systemet.Det här ger oss en fördel eftersom vi kan spara två serveranrop tack vare vår egen TTS och interna transkribering.

Diagram of a speech processing system showing input speech, ASR, VAD, LLM, TTS, and output speech with latency and network latency indicators.

Funktioner

Många conversational AI-appar används för att köra funktioner (t.ex. koppla till olika verktyg och tjänster). Jag kan till exempel be AI:n att kolla vädret. Då behövs extra API-anrop i textbearbetningssteget, vilket kan ge mer latens beroende på vad som behövs.

Om jag till exempel vill beställa pizza med rösten kan det krävas flera API-anrop, vissa med extra fördröjning (t.ex. vid betalning med kort).

Diagram of a speech processing system showing input speech, ASR, VAD, LLM/function calling, TTS, and output speech with data flow and latency indicated.

Men ett conversational AI-system kan minska väntetiden genom att låta LLM svara användaren innan funktionen är klar (t.ex. “Jag kollar vädret åt dig”). Det liknar ett vanligt samtal och gör att användaren slipper vänta i tystnad.

Flowchart of a speech synthesis system showing user input, system processing, and output speech, with components like ASR, VAD, TTS, and LLM.

Sådana asynkrona mönster löses oftast med webhooks för att undvika långa förfrågningar.

Telefoni

En annan vanlig funktion för conversational AI-plattformar är att låta användaren ringa in via telefon (eller ibland ringa upp åt användaren). Telefoni ger extra latens – och den kan variera mycket beroende på geografi.

Diagram of a speech processing system showing data flow and latency between components.

Som grund ger telefoni cirka 200 ms extra latens om samtalet hålls inom samma region. För globala samtal (t.ex. Asien → USA) kan det bli upp till 500 ms. Det här är vanligt om användare har telefonnummer utanför regionen där de befinner sig – då måste samtalet gå via deras hemlands nät.

Avslutande tankar

Vi hoppas att den här genomgången av conversational AI-agenter var intressant. Sammanfattningsvis bör appar sikta på latens under en sekund. Det kan oftast lösas genom att välja rätt LLM för uppgiften. Apparna bör också prata med användaren när mer avancerade processer körs i bakgrunden, så att det inte blir långa pauser.

Målet är att skapa realism. Användaren ska känna att det är lika enkelt att prata med AI:n som med en människa, men ändå få fördelarna av ett datorprogram. Genom att trimma varje delsteg är det nu möjligt.

På ElevenLabs optimerar vi varje del av ett conversational AI-röstagent system med våra ledande STT- och TTS-modeller. Genom att förbättra varje steg kan vi skapa samtal som flyter på utan avbrott. Den här helhetssynen gör att vi kan kapa latens – även om det bara är 1 ms – i varje steg.

Utforska artiklar av ElevenLabs-teamet

ElevenLabs

Skapa ljud och röster som imponerar med de bästa AI-verktygen

Kom igång gratis

Har du redan ett konto? Logga in