Vissza a bloghoz

ProCat Solutions

Elindult az Abigel.ai, és fél másodperc lett a legfontosabb számunk

Lezárult a DIMOP Plusz projektünk, élesben az abigel.ai telefonasszisztense és AI-nyelvtanára. Tanulságok késleltetésről, streamingről és telefóniáról.

ProCat Solutions abigelvoice-aidimop-pluszsaastelefónianyelvtanulás
Abigel.ai
Megosztás
Elindult az Abigel.ai, és fél másodperc lett a legfontosabb számunk

Tegnap, 2026. szeptember 14-én lezárult a DIMOP_PLUSZ-1.1.2/A-24-2025-00236 azonosítójú projektünk, és az eredménye a https://abigel.ai címen élesben elérhető. Több mint egy évig építettünk egy rendszert, amely egy telefonhívást valós időben dolgoz fel. Ez a bejegyzés arról szól, mi készült el, és mit tanultunk közben.

Az Európai Unió társfinanszírozásával.

Bejövő hívás egy irodai asztalon heverő telefonon

Két termék, egy alap

Az Abigel.ai két terméket foglal magában, közös infrastruktúrán.

Virtuális asszisztens. AI-telefonasszisztens, amely a vállalkozás telefonszámán a nap 24 órájában fogadja a hívásokat. Beszélget a hívóval, időpontot foglal, üzenetet vesz fel, egyszerű kérdésekre válaszol, és minden hívásról átiratot és összefoglalót készít. A hívás menetét az ügyfél no-code folyamatszerkesztőben állítja össze, programozás nélkül. Az asszisztens több mint 25 nyelven beszél, és felismeri a hívó nyelvét.

Tanár. Beszélgetős AI-nyelvtanár, amely 26 nyelven tart társalgási órát, A1-től B2 szintig. A tanuló beszél, a rendszer valós időben válaszol, javít és visszajelez. A telefonasszisztenshez épített hangfeldolgozási lánc itt más célt szolgál, a technológia ugyanaz.

Mindkét termék többbérlős SaaS: használatalapú árazás, bérlőnként elkülönített adatok, EU-n belüli, GDPR-megfelelő üzemeltetés, hívásnapló és CSV-export. A projekt a pályázatban vállalt tartalommal valósult meg.

Fél másodperc

A projekt legfontosabb műszaki tanulsága egy mondat: egy telefonbeszélgetésben minden hallható, ami néhány száz ezredmásodpercnél tovább tart. Az ember a beszélgetőpartnere válaszát nagyjából fél másodpercen belül várja. Ha ebből másfél másodperc lesz, a hívó közbeszól, elbizonytalanodik vagy leteszi.

Ha a beszédfelismerés, a nyelvi modell és a beszédszintézis egymás után fut, könnyen több másodperc jön ki. Ezt tettük ellene:

  • Streaming minden lépésben. A beszédfelismerés részeredményeket ad, mielőtt a mondat véget ér. A nyelvi modell válasza tokenenként érkezik. A beszédszintézis már mondja az első mondatot, amíg a többi generálódik. A lánc csővezetékként működik, a lépések átfednek.
  • Beszédvég-felismerés. Nehezebb eldönteni, hogy a hívó befejezte-e a mondandóját, mint gondoltuk. A túl rövid csendküszöb félbeszakítja az embert, a túl hosszú lassít. A küszöböt a csend hossza mellett a beszéd tartalma alapján is hangoljuk.
  • Közbevágás. Ha a hívó megszólal, miközben az asszisztens beszél, a lejátszást azonnal leállítjuk, és csak az addig elhangzott részt tekintjük kontextusnak. E nélkül a beszélgetés természetellenes.
  • Földrajzi közelség. A hang- és nyelvi modellek szolgáltatóit EU-n belüli végpontokon használjuk, a saját komponensek ugyanabban az adatközpontban futnak. Minden hálózati ugrás tíz-húsz ezredmásodperc, és ezek összeadódnak.

A késleltetést hívásonként és lépésenként mérjük, percentilisként követjük. A legtöbb architektúra-döntést e metrika alapján hoztuk meg.

Csapat az indulás napján

A telefonvonal régi bajai

A SIP és a PSTN világáról korábban leírt tapasztalataink mind előjöttek, néhány újjal együtt:

  • a telefonhálózat 8 kHz-es, G.711-kódolású hangja lényegesen kevesebb információt hordoz, mint amin a beszédfelismerő modellek tanultak. Telefonhangon rosszabb a felismerési pontosság, ezt a folyamatszerkesztőben megerősítő kérdésekkel kell ellensúlyozni,
  • a SIP-oldal és a feldolgozási lánc között a hang pufferelés nélkül, kis keretekben megy át; minden puffer késleltetés,
  • a szolgáltatói SIP-trunkök másként viselkednek hívásátadásnál és DTMF-kezelésnél, ezért a bridge-réteg szolgáltatónként konfigurálható,
  • hívás közben ingadozhat a hálózat, a jitter és a csomagvesztés rontja a felismerést, ezért az RTCP-adatokat is beírjuk a hívásnaplóba.

A tesztelés nem épülhetett kézi hívásokra. Automatizált hívásokat indítunk, amelyek előre felvett vagy szintetizált beszéddel végigjárják a folyamatokat, és az átiratot összevetik az elvárttal. Lassú módszer, de nélküle minden módosítás után kézzel kellett volna telefonálni.

A modell nem improvizálhat

A nagy nyelvi modell a beszélgetés motorja, a telefonhívás viszont sajátos környezet. Rövid, szóbeli válaszok kellenek, bekezdések nem. A modellnek a folyamatszerkesztőben megadott lépéseket kell követnie, és ha a felismerés hibázott, kérdeznie kell, találgatnia nem szabad. A folyamat leírását strukturált utasításként kapja, szabad szöveg csak a megfogalmazásban van.

Az időpontfoglalás és a hasonló műveletek eszközhívásként (tool call) mennek a backendhez, amely visszaadja az eredményt a modellnek. Itt is az idempotens feldolgozás a kulcs: egy újrapróbált hívás nem foglalhat két időpontot.

Üzemeltetés és finomhangolás

A projekt lezárult, a termék él, a következő hónapok az üzemeltetésről és a finomhangolásról szólnak. A blogon folytatjuk a tapasztalatok megosztását. A következő téma a hangalapú rendszerek terheléses tesztelése és a hívásminőség-alapú riasztás lesz.

Köszönjük a Magyar Kormány és az Európai Unió támogatását, és köszönjük mindenkinek, aki a projekt során tesztelt, visszajelzett, és türelmes volt az első, még akadozó hívásoknál.

Kapcsolódó cikkek

Megosztás
Széchenyi Terv Plusz kedvezményezetti infoblokk
QR Code