Sådan bygger du en god stemmeagent

Sådan bygger du en god stemmeagent
BACK TO BLOGS
ON THIS PAGE
Back to top

Med udviklingen af generativ AI har vi været vidne til betydelig vækst i chatbot-produkter, der dominerer markedet. Samtidig er stemme-AI blevet forbedret i en sådan grad, at glidende samtaler med AI nu er mulige. Uanset om du bygger AI til indgående og udgående opkald, professionelle tjenester, ledsager-apps osv., forbliver stemmen en central del af oplevelsen og er vigtig for konvertering. Vi kan alle huske frustrerende oplevelser med AI under opkald — robotagtige stemmer, akavet stilhed, lange latensperioder og behovet for at trykke på knapper for at interagere, som tilsammen forringer oplevelsens naturlige kvalitet og af og til irriterer brugerne.

Hvad er forskellen mellem stemme-AI og mennesker?

Før vi springer direkte ind i, hvordan man bygger en god stemmeoplevelse, så lad os tage et øjeblik til at opsummere, hvordan et menneske normalt interagerer i en samtale. Vi opererer med <200ms latens, når turtagning sker, vi giver tilbagemeldinger efter behov, vi forstår ubevidst, hvornår den anden part er færdig med sin tur, vi forstår den anden parts mening og følelser, vi har fyldord i vores sætninger, vi holder op med at tale, når vi bliver afbrudt... Listen kan fortsætte, men den essentielle pointe, jeg gør her, er, at der sker så mange små mekanismer bag kulisserne, når vi har en enkel, glidende samtale, og det er ekstremt SVÆRT for maskiner at tage højde for alt dette og præstere som mennesker.

Hvorfor er det svært at bygge en god konversationel stemme-AI?

Et almindeligt spørgsmål, vi ofte får, er, hvorfor jeg skal bruge Retell API --Kan jeg ikke bare sy ASR (speech-to-text), LLM, TTS (text-to-speech) sammen for at bygge en stemmesamtale?

Nå, hmm, det burde du absolut, hvis du har tiden, og se, hvor langt en simpel sammensyningsmetode kan bringe dig. Det problem nummer et, vi hører fra dem, der laver deres eget stemmesystem, er, at det er svært at skære latens ned; problem nummer to, vi ser, er, at afbrydelseshåndtering er svær at implementere med en simpel opsætning; problem nummer tre, vi ser, er, at agentens svar ikke er samtalende nok til at lyde som et menneske. For at tackle alt dette, lad os gennemgå et overblik over, hvilke komponenter der skal være til stede, og det arbejde, der skal gøres for en god konversationel stemme-AI-oplevelse.

1. Integrer med web-frontend eller programmerbare kommunikationsværktøjer som Twilio, Vonage for at få brugerlyd.

2. Arbejd med audio bytes og streaming-protokoller: Brugerlyd fra forskellige frontends (web, opkald) kommer i forskellige indkodninger, formater og sendes over via forskellige streaming-protokoller. Dette er en anstrengende opgave, da audio bytes er svære at manipulere og tidskrævende at arbejde med. Spørg en hvilken som helst ingeniør, du kender, der arbejder med lydsignaler; de vil dele det samme udsagn.

3. Forstå lyden: Der er forskellige signaler fra lyd, som er afgørende for en glidende samtale.

  • Tekst: genereres normalt fra ASR (asynchronous speech recognition), skal være streaming, skal være så hurtig og nøjagtig som muligt.
  • Følelse: at forstå den anden parts følelsesmæssige tilstand er afgørende for, at mennesker kan give et godt svar i en samtale.
  • Lydsignalkvalitet: om der er baggrundsstøj, om der er ekko.
  • Speaker diarization: hvis flere personer taler, identificer talerens identitet, og identificer, hvem der taler til dig, og hvem der ikke gør, osv.
  • Tonalitet og andre talerspecifikke træk.
  • Pause: om brugeren holder op med at tale, udledes normalt fra VAD (Voice Activity Detection).

4. Beslut, om der skal tales: forstå, om den anden part snart afslutter sin tur, eller de allerede har afsluttet deres tur, om de afventer et svar eller bare holder pause for at formulere deres tanker osv. Skal kombinere tekst, følelse, tonalitet, pause og anden lydinput for at generere denne beslutning.

  • Den vanskelige del er, at brugere kan slutte hvor som helst, når du ikke kender dem godt personligt, og AI skal være forberedt på de pludselige afslutninger.
  • Brugere, der uventet fortsætter med at tale, er mindre af et problem, da AI bare kan fortsætte med at lytte og omgøre beslutningen om at tale.

5. Generering af svar: At generere et godt svar på det, brugeren har sagt, er svært og meget scenariespecifikt. Der er forskellige måder at gøre denne del på, og den tilpasses hvert enkelt anvendelsestilfælde, så her vil jeg blot dele ét simpelt flow for svargenerering.

  • RAG (retrieval augmented generation): Indlejrer dokumenter, data, vidensbase osv. i en vektordatabase og henter kun den relevante information ud af den. Denne relevante info vil være en del af den prompt, der føres ind i LLM'en.
  • LLM: Dette kan være en finjusteret selvhostet model eller API-kald til udbydere. Baseret på den relevante information fra sidste trin og nogle andre prompts, der er tilpasset brugeren, generer et svar, og stream svaret tilbage til et stemmegenereringssystem.
  • Verifikation: for visse fraser/ord med høj risiko, verificer måske, før der streames tilbage.

6. Syntetiser lyden: Opnås normalt ved hjælp af TTS-modeller (text to speech), transformer svarteksten til lyd. Skal have tone- og følelsesvariation, der passer til scenariet for at være menneskelignende. Ideelt set bør TTS-outputtet streames tilbage for lavere latens.

7. Udfør handlinger: AI, der kan tale, er cool, og AI, der kan udføre handlinger, er endnu mere cool. Dette opnås normalt med function calling-funktionaliteter i visse modeller eller struktureret dataoutput, så downstream kan booke møder, når det er nødvendigt, og kan slå information op, når det er passende.

  • Når du udfører handlinger, skal du sørge for, at din agent stadig kan svare.
  • Et specifikt anvendelsestilfælde af dette er at viderestille opkaldet eller afslutte opkaldet.

Hvad kan Retell AI gøre for en god konversationel stemme-AI?

Jeg tror, de fleste folk på nuværende tidspunkt vil være enige i, at dette ikke er så nemt som at sy ASR, LLM, TTS sammen. Så lad mig (skamløst) introducere, hvordan Retell AI kan hjælpe her. Ved at integrere med Retell AI kan du spare måneders udvikling, nyde en topmoderne stemmeoplevelse og få alt følgende dækket:

  • Lav latens: Vi anvender optimeringer ved hvert trin, så latens reduceres til det laveste for lyddelen. Bemærk, at svargenereringsdelen stadig er i dine hænder, så vi har lidt kontrol over den. Vores demo er ~800ms mellem, når brugeren stopper, og agenten svarer.
  • Afbrydelseshåndtering: Brugeren kan afbryde når som helst, og agenten reagerer lynhurtigt på det som et rigtigt menneske.
  • Lydintegration: Vi kan forbinde direkte med Twilio, og vi har open source'et web-frontend-kode.
  • Arbejd med audio bytes: vi har det dækket og kan spare dig for hundredvis af timer.
  • Lydforståelse: vi udvinder indsigter fra lyd med den laveste latens og sender realtidstransskriptioner (andre signaler kommer snart) til dig.
  • Beslutning om, hvornår der skal tales: vi har vores egen turtagningsmodel og vil fortsætte med at iterere den for at træffe bedre beslutninger om, hvornår der skal tales.
  • Lydsyntese: vi integrerer med forskellige TTS-udbydere og har hyret stemmeskuespillere til at skabe menneskelignende stemmer, der er egnede til samtale.
  • Hurtig demo & dashboard: vi har sat vores dashboard op til at understøtte opbygning af en demo inden for 2 minutter.
  • Domæneekspertise & support: vi har domæneekspertise inden for lyd, modellering og agentoprettelse. Vi er her for at hjælpe, når du støder på problemer.

Hvad du skal gøre: fortsæt med at iterere på dit kerneprodukt for at gøre det bedre, mens vi tager os af lyddelen. Her er de dele, du skal arbejde på:

  • Svargenerering: selvom vi understøtter demo-oprettelse på dashboardet, indser vi, at svargenereringsprocessen for hvert scenarie kan være drastisk forskellig. Derfor vil vores API nemt integrere din tilpassede svargenereringsløsning, uanset om det er et simpelt OpenAI-kald eller en kompliceret agentopsætning.
  • Udfør handlinger: for at stemmeagenten kan udføre handlinger, skal du sandsynligvis integrere med forskellige værktøjer (kalendere, CRM osv.). Det er op til dig at beslutte, hvornår der skal udføres en handling, og hvad der skal udføres. Glem ikke at fortsætte med at generere svar, mens du udfører handlinger.
  • Specifik opkaldslogik: forskellige anvendelsestilfælde vil viderestille / afslutte opkald forskelligt, og det er op til dig at beslutte detaljer om call flow. Dette kan sættes op via function calling.

Jeg håber, denne blog kan give dig en overordnet idé om, hvordan man bygger en god stemmeagent, og forhåbentlig (og skamløst) kan mit pitch for Retell AI kaste lys over, hvordan vi kan hjælpe.

God fornøjelse med byggeriet!

ROI Calculator
Estimate Your ROI from Automating Calls

See how much your business could save by switching to AI-powered voice agents.

All done! 
Your submission has been sent to your email
Oops! Something went wrong while submitting the form.
   1
   8
20
Oops! Something went wrong while submitting the form.

ROI Result

2,000

Total Human Agent Cost

$5,000
/month

AI Agent Cost

$3,000
/month

Estimated Savings

$2,000
/month
Live Demo
Prøv vores live demo

Et demonummer fra Retell Clinic Office

Tak! Din indsendelse er modtaget!
Ups! Noget gik galt under indsendelsen af formularen.

Read Other Blogs

Revolutionize your call operation with Retell