Hoe bouw je een goede stemagent

Hoe bouw je een goede stemagent
BACK TO BLOGS
ON THIS PAGE
Back to top

Met de opkomst van generatieve AI hebben we een aanzienlijke groei gezien in chatbotproducten die de markt domineren. Tegelijkertijd is voice-AI zo verbeterd dat vloeiende gesprekken met AI nu haalbaar zijn. Of je nu AI bouwt voor inkomende en uitgaande gesprekken, professionele diensten, companion-apps enzovoort, stem blijft een kernonderdeel van de ervaring en is belangrijk voor conversie. We kennen allemaal de frustrerende ervaringen met AI tijdens gesprekken — robotachtige stemmen, ongemakkelijke stiltes, lange latency, en de noodzaak om op knoppen te drukken om te communiceren, wat samen de natuurlijk klinkende kwaliteit van de ervaring vermindert en gebruikers af en toe irriteert.

Wat is het verschil tussen voice-AI en een mens?

Voordat we duiken in hoe je een geweldige stemervaring bouwt, laten we even recapituleren hoe een mens zich doorgaans gedraagt in een gesprek. We opereren met <200ms latency bij het beurtwisselen, we geven waar nodig backchannel-signalen, we begrijpen onbewust wanneer de andere partij zijn beurt afrondt, we begrijpen de betekenis en emoties van de andere partij, we hebben stopwoorden in onze zinnen, we stoppen met praten wanneer we onderbroken worden... De lijst gaat maar door, maar de essentie die ik hier maak is dat er zoveel kleine mechanismen op de achtergrond gebeuren wanneer we een eenvoudig, vloeiend gesprek voeren, en het is extreem MOEILIJK voor machines om al deze in overweging te nemen en zich als mensen te gedragen.

Waarom is een goede conversationele voice-AI bouwen moeilijk?

Een veelgestelde vraag die we krijgen is waarom ik de Retell API moet gebruiken --Kan ik niet gewoon ASR (speech-to-text), LLM, TTS (text-to-speech) aan elkaar knopen om een stemgesprek te bouwen?

Nou, hmm, dat zou je zeker moeten doen als je de tijd hebt, en kijken hoe ver een eenvoudige aan-elkaar-knopen-aanpak je brengt. Het nummer één probleem dat we horen van degenen die hun eigen stemsysteem maken is dat het moeilijk is om latency terug te dringen; het nummer twee probleem dat we zien is dat het afhandelen van onderbrekingen moeilijk te implementeren is met een eenvoudige opzet; het nummer drie probleem dat we zien is dat de reactie van de agent niet conversationeel genoeg is om als een mens te klinken. Om dit alles aan te pakken, laten we een overzicht doornemen van welke componenten aanwezig moeten zijn en welk werk gedaan moet worden voor een goede conversationele voice-AI-ervaring.

1. Integreer met een webfrontend of programmeerbare communicatietools zoals Twilio, Vonage om audio van de gebruiker te verkrijgen.

2. Werk met audiobytes en streamingprotocollen: Gebruikersaudio van verschillende frontends (web, telefoongesprek) komt binnen in verschillende encoderingen, formaten, en wordt verzonden via verschillende streamingprotocollen. Dit is een zware taak, aangezien audiobytes moeilijk te manipuleren en tijdrovend zijn om mee te werken. Vraag het aan een willekeurige engineer die je kent die met audiosignalen werkt; die zal hetzelfde beamen.

3. Begrijp de audio: Er zijn verschillende signalen uit audio die essentieel zijn voor een vloeiend gesprek.

  • Tekst: meestal gegenereerd uit ASR (asynchrone spraakherkenning), moet streaming zijn, moet zo snel en nauwkeurig mogelijk zijn.
  • Emotie: het begrijpen van de emotionele toestand van de andere partij is essentieel voor mensen om een goede reactie in een gesprek te geven.
  • Kwaliteit van het audiosignaal: of er achtergrondgeluid is, of er echo is.
  • Speaker diarization: als er meerdere mensen praten, identificeer de identiteit van de spreker, en identificeer wie tegen je praat en wie niet, enzovoort.
  • Tonaliteit en andere spreker-specifieke kenmerken.
  • Pauze: of de gebruiker stopt met praten, meestal afgeleid uit VAD (Voice Activity Detection).

4. Beslis of je gaat spreken: begrijp of de andere partij zijn beurt binnenkort zal afronden, of dat ze die al hebben afgerond, of ze een reactie afwachten of gewoon pauzeren om hun gedachten te formuleren, enzovoort. Moet tekst, emotie, tonaliteit, pauze en andere audio-input combineren om deze beslissing te genereren.

  • Het lastige is dat gebruikers op elk moment kunnen stoppen wanneer je ze niet persoonlijk goed kent, en AI moet voorbereid zijn op die abrupte eindes.
  • Gebruikers die onverwacht doorpraten is minder een probleem, aangezien AI gewoon kan blijven luisteren en de beslissing om te praten kan terugdraaien.

5. De reacties genereren: Een goede reactie genereren op wat de gebruiker heeft gezegd is moeilijk, en zeer scenario-specifiek. Er zijn verschillende manieren om dit onderdeel te doen en het wordt aangepast voor elke use case, dus hier deel ik gewoon één eenvoudige flow van reactiegeneratie.

  • RAG (retrieval augmented generation): Zet documenten, data, kennisbank enzovoort om in embeddings in een vectordatabase en haalt daar alleen de relevante informatie uit. Deze relevante info wordt onderdeel van de prompt die in de LLM wordt gevoerd.
  • LLM: Dit kan een fijngetuned, zelf-gehost model zijn, of API-calls naar providers. Genereer op basis van de relevante informatie uit de vorige stap en enkele andere prompts die voor de gebruiker zijn aangepast een reactie, en stream de reactie terug naar een systeem voor stemgeneratie.
  • Verificatie: voor bepaalde risicovolle zinnen/woorden, verifieer misschien voordat je terugstreamt.

6. Synthetiseer de audio: Meestal bereikt met TTS-modellen (text to speech), zet de reactietekst om in audio. Moet toon- en emotievariatie hebben die past bij het scenario om natuurlijk klinkend te zijn. Idealiter zou de TTS-output teruggestreamd moeten worden voor lagere latency.

7. Acties ondernemen: AI die kan praten is cool, en AI die acties kan ondernemen is nog cooler. Dit wordt meestal bereikt met function-calling-functionaliteiten van bepaalde modellen, of gestructureerde data-output, zodat downstream afspraken kan inplannen wanneer nodig, en informatie kan opzoeken waar gepast.

  • Zorg er bij het ondernemen van acties voor dat je agent nog steeds kan reageren.
  • Een specifieke use case hiervan is het gesprek doorverbinden of het gesprek beëindigen.

Wat kan Retell AI doen voor een goede conversationele voice-AI?

Ik denk dat de meesten inmiddels het erover eens zijn dat dit niet zo eenvoudig is als ASR, LLM, TTS aan elkaar knopen. Laat me daarom (schaamteloos) introduceren hoe Retell AI hier kan helpen. Door te integreren met Retell AI kun je maanden ontwikkeling besparen, genieten van een state-of-the-art stemervaring, en al het volgende afgedekt krijgen:

  • Lage latency: We passen optimalisaties toe bij elke stap, zodat latency voor het audiogedeelte tot het laagste wordt teruggebracht. Merk op dat het reactiegeneratiegedeelte nog steeds in jouw handen is, dus daar hebben we weinig controle over. Onze demo zit op ~800ms tussen wanneer de gebruiker stopt en de agent reageert.
  • Onderbrekingen afhandelen: De gebruiker kan op elk moment onderbreken, en de agent reageert razendsnel daarop zoals een echt mens.
  • Audio-integratie: We kunnen rechtstreeks verbinden met Twilio, en we hebben webfrontend-code open source gemaakt.
  • Werken met audiobytes: dat hebben we afgedekt en kunnen je honderden uren besparen.
  • Audio begrijpen: we halen inzichten uit audio met de laagste latency en sturen realtime transcripties (andere signalen komen binnenkort) naar je toe.
  • Beslissing wanneer te spreken: we hebben ons eigen turn-taking-model en blijven het itereren om betere beslissingen te maken over wanneer te spreken.
  • Audiosynthese: we integreren met verschillende TTS-providers en huurden stemacteurs in om natuurlijk klinkende stemmen te creëren die geschikt zijn voor gesprekken.
  • Snelle demo & dashboard: we hebben ons dashboard zo opgezet dat je binnen 2 minuten een demo kunt bouwen.
  • Domeinexpertise & support: we hebben domeinexpertise in audio, modellering, agentcreatie. We staan klaar om te helpen wanneer je tegen problemen aanloopt.

Wat jij moet doen: blijf je kernproduct itereren om het beter te maken, terwijl wij zorgen voor het audiogedeelte. Hier zijn de onderdelen waaraan je moet werken:

  • Reactiegeneratie: hoewel we democreatie op het dashboard ondersteunen, realiseren we ons dat het reactiegeneratieproces voor elk scenario drastisch anders kan zijn. Daarom integreert onze API eenvoudig jouw eigen reactiegeneratie-oplossing, ongeacht of het een eenvoudige OpenAI-call of een gecompliceerde agentopzet is.
  • Acties ondernemen: om de stemagent actie te laten ondernemen, moet je waarschijnlijk integreren met verschillende tools (agenda's, CRM, enzovoort). Het is aan jou om te beslissen wanneer je actie onderneemt, en welke. Vergeet niet reacties te blijven genereren terwijl je acties onderneemt.
  • Specifieke gesprekslogica: verschillende use cases zullen gesprekken anders doorverbinden / beëindigen, en het is aan jou om de details over de call flow te bepalen. Dit kan worden opgezet via function calling.

Ik hoop dat deze blog je een globaal idee kan geven van hoe je een geweldige stemagent bouwt, en hopelijk (en schaamteloos) kan mijn pitch voor Retell AI licht werpen op hoe wij kunnen helpen.

Veel bouwplezier!

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
Probeer onze live demo

Een demodemonummer van Retell Clinic Office

Bedankt! Je inzending is ontvangen!
Oeps! Er is iets misgegaan bij het verzenden van het formulier.

Read Other Blogs

Revolutionize your call operation with Retell