Egy telefonvonalon mindkét fél egyszerre beszélhet. Az a hangügynök, amely csak akkor válaszol, ha a hívó elhallgatott, és beszéd közben süket, félduplex, és úgy hangzik, mint egy walkie-talkie. Ez a jegyzet azt írja le, hogyan hallgat tovább egy Dialogist-ügynök, miközben beszél. Egy korábbi jegyzetre épül, a Honnan tudja az ügynök, hogy a hívó befejezte című írásra.
A késleltetési értékek valódi telefonhívásokból (a fordulóvég-modell) és a terhelési teszt állványáról származnak, toborzó ügynökkel (korai indulás).
| Mérték | Érték |
|---|---|
| Valódi hívásokon a hanglejtés alapján az időzítő előtt lezárt hívói fordulók | 87% |
| A korai lezárások által fordulónként visszaadott idő, átlagosan | ≈ 0,3 s |
| Válaszok, amelyeknél a nyelvi modell a szünet vége előtt indul | 98% |
| A korai indulással megtakarított válaszidő, egy hívástól 128 beszélgetésig | 89–235 ms |
| Ember jóváhagyása nélkül lejátszott „aha” klipek a hívónak | 0 |
Mit értünk teljes duplex alatt
Az ügynök egy streaming csővezeték, és az a tulajdonság számít, hogy a hívó csatornája nyitva marad. Amíg az ügynök beszél:
- a hangdetektálás tovább fut a hívó hangján;
- a felismerés tovább streameli 20 ms-os keretekben;
- az ügynök saját kimenő hangja egy keverőn megy át, amely le tudja halkítani, tompítani, szüneteltetni és folytatni, és más hangokat is belekeverhet.
Az alábbi szakaszok azt írják le, mit kezd az ügynök ezzel a nyitott csatornával.
Annak eldöntése, hogy a forduló véget ért
Egy csendidőzítő két rossz lehetőség közül választ: elég sokáig vár a biztonsághoz, és minden válasz későn indul, vagy egy rövid szünetre reagál, és szám közben vág az emberek szavába.
Az ügynök 192 ms-ot vár, majd megkérdez egy kis modellt, hogy a mondat kerek volt-e. Ha a modell biztos, a forduló azonnal lezárul. Ha nem, az ügynök tovább hallgat, és egy hosszabb csend így is lezárja a fordulót, hogy senki ne várjon örökké.
- A modell ítélete a hang következő 32 ms-os keretén érvényesül.
- Valódi hívásokon (1468 hívói forduló) a modell a fordulók 87%-át zárta le korán, ezek 95%-át az első vizsgálatra, és fordulónként átlagosan nagyjából 0,3 s-ot adott vissza. A szünetek 96%-ában, amikor a hívó csak gondolkodott, várt.
- Először megfigyelés. A modellnek három üzemmódja van ügynökönként: kikapcsolt, megfigyelő és végleges. Megfigyelő módban naplózza, mit döntött volna, és semmit nem változtat. A küszöböket valódi hívásokon hangoljuk megfigyelő módban, és akkor váltunk végleges módra, amikor a napló egyezik azzal, amit a hívók tettek.
- Listáknál és számoknál nézzük a legkörültekintőbben a korai lezárásokat. Egy hívó, aki kártyaszámot mond be, a számjegycsoportok között befejezettnek hangzik.
A válasz elindítása a szünet vége előtt
A hívó utolsó szava és a forduló lezárása között 200–400 ms-os ablak van. A felismerés a szünet alatt próbamenetet készít, így a szöveg általában már ismert.
A korai indulás ezt az ablakot használja ki. Ha a szünet elég hosszú, és a próbaszöveg elég biztos, az ügynök felépíti azt a promptot, amelyet a forduló lezárása után építene, a hívó várható válaszával az élén, és elküldi a nyelvi modellnek. A modell megírja az első mondatot, miközben a forduló formálisan még nyitva van.
A korai kérés csak olvashat, ettől biztonságos:
- semmit nem ír a beszélgetés előzményeibe;
- nem hív beszédszintézist;
- nem hajt végre eszközt, és nem fejezhet be vagy adhat át hívást;
- ha a forduló ugyanazzal a szöveggel, ugyanazzal a prompttal és ugyanazokkal az előzményekkel zárul le, az ügynök átveszi az előkészített mondatokat. Ha bármi eltér, az ügynök eldobja a kérést, és a szokásos út fut;
- ha a hívó újra beszélni kezd, vagy közbeszól, az ügynök megszakítja a kérést, és lezárja a HTTP-folyamot.
A terhelési tesztben a kérés a válaszok 98%-ában a döntés előtt elment, átlagosan 225 ms-mal előbb 50 beszélgetésnél, és 508 ms-mal előbb 128-nál. A korai indulás az átlagos válaszidőt 89 ms-mal csökkentette egy beszélgetésnél, 189 ms-mal 96-nál és 235 ms-mal 128-nál.
A megtakarítás a terheléssel nő: terhelés alatt a forduló lezárása tovább tart, és az előkészített válasznak több ideje van elkészülni.
Közbeszólások
A hívók az ügynökök szavába vágnak. Az ügynök néhány tíz ezredmásodperc alatt két dolgot dönt el: közbeszólásról van-e egyáltalán szó, és elég súlyos-e ahhoz, hogy megálljon.
Két mód a felismerésére
A szöveggel megerősített közbeszóláshoz a felismerésnek legalább négy betűnyi szöveget kell előállítania. Az akusztikushoz a hangdetektálásnak tartós beszédet kell hallania, ami gyorsabb. Az akusztikus módnak saját küszöbe van, külön attól, amely egy normál fordulót nyit, mert a tévedés többe kerül: egy téves „forduló nyitva” egy üres puffert jelent, egy téves közbeszólás viszont szó közepén vág az ügynök szavába.
Mi nem számít
Az akusztikus mód megszakítatlan beszédet kíván a küszöb fölött. A billentyűzet sok rövid löketet ad; a számláló minden résnél nullázódik, és soha nem éri el a határt. A beszéd rés nélkül tartja. A köhintés és egy puszta „aha” szintén nem számít.
Visszhang
Böngészős hívásokban az ügynök saját hangjának visszhangja eljuthat a mikrofonhoz. Az ügynök visszhangként ismeri fel, akusztikai megerősítés nélkül és alacsony felismerési bizonyossággal, és befejezi a mondatát.
Amit az ügynök megjegyez
Az ügynök megjelöli a megszakított választ a következő promptban, így a modell tudja, hogy a hívó nem hallotta végig. Opcionálisan az ügynök megkapja a válasz ki nem mondott maradékát is, és folytathatja vagy elejtheti.
Egy kapcsoló
Az ügynök beállítható úgy, hogy egyáltalán ne hátráljon meg: ez azokra a szövegekre való, amelyeket végig kell mondani.
Hátralépés megállás előtt
Az első hangra félbehagyni a mondatot udvariatlan, ha a hang csak annyi, hogy „igen, igen”. Amikor a hívó beszélni kezd, az ügynök hangja először hátralép, és csak akkor áll meg, ha a beszéd közbeszólásnak bizonyul.
- Amikor a hívó beszélni kezd, a hangerő lehalkul. Alapértelmezés szerint 150 ms alatt 15 dB-lel esik, és a hang tompul is: a magas frekvenciák lejjebb mennek, és egy aluláteresztő szűrő csúszik be, így a visszavétel úgy hangzik, mintha valaki hátradőlne a telefontól.
- Hold módban az ügynök nagyjából egy szótag után (200 ms) szünetel. Duck módban halkabban tovább beszél.
- Ha a hívó beszéde közbeszólásnak számít, az ügynök megáll, 30 ms-os lecsengetéssel. Ha nem, a hang 300 ms alatt visszatér.
- Hold után az ügynök fél másodpercet vár arra az esetre, ha a hívó mindjárt újra megszólalna, majd a legközelebbi szótagrésről folytatja (legfeljebb 400 ms-ot visszalépve), a mondat elejéről vagy a pontos helyről, amelyik illik. Ha a szünet hosszú volt (1,5 s), a mondat elejére lép vissza.
- Ha 2,5 s-ig egyik sem történik meg, az ügynök eldönti, hogy megáll vagy visszaállítja a hangját.
Mindegyikre van beállítás ügynökönként, és az az ügynök, amelyet nem szabad megszakítani, nem halkít.
„Aha” mondása
Amíg a hívó hosszan beszél, a túloldali csend megszakadt hívásnak hangzik. Az emberek kis hangokkal töltik ki.
Az ügynök ugyanezt teszi, rövid visszajelzések bankjával: „aha”, „értem”, „mm”. A klipek az ügynök saját hangján vannak előre renderelve, és egy ember meghallgatja és jóváhagyja őket, mielőtt bármelyik felhasználható volna. Ha egy hangnak nincs jóváhagyott bankja, a funkció az adott hívásra kikapcsolja magát, és az ügynök nem játszik le át nem nézett klipet.
Az ügynök egyet játszik le:
- a hívó beszédében egy szünetben (250–600 ms csend), vagy időzítőre;
- csak miután a hívó 2,5 s-ig beszélt;
- valószínűséggel (alapértelmezés szerint 0,6), legfeljebb 3 s-onként egyszer és fordulónként háromszor;
- soha nem ugyanazt, mint az utolsó négy egyike;
- nem akkor, ha a fordulóvég-modell a „befejezte” valószínűségét 0,4 fölé teszi.
Az ügynök a lejátszott klipet kihagyja a beszélgetés előzményeiből, és amikor a visszhangja a hívó készülékéről visszajön a vonalon, eltávolítja az átiratból. Mindehhez szünetablak kell: a fordulónak tovább kell nyitva maradnia, mint a szünetek, amelyeket az ügynök keres. Ha a beállítások nem hagynak helyet, a funkció az adott hívásra kikapcsolja magát, és az ügynök kártyája a Prompt Studióban figyelmeztetést mutat.
A szoba többi része
- Háttér. Opcionális iroda- vagy tárgyalóhang, kiegyenlítve, a hívás első másodpercétől belekeverve. Az ügynök nem számítja a saját hangjának a csendidőzítőknél és a közbeszólásoknál.
- Csend. Egy újrakérdezés, majd egy udvarias búcsú, a vonalon a lejátszás végétől mérve, nem a szintézis végétől.
- Bizonyosság. Az ügynök a felismerő bizonytalanságát megjegyzésként adja át a nyelvi modellnek a fordulón, számként vagy az egyes szavakon jelölésekkel. A prompt arra utasítja a modellt, hogy kérdezzen vissza ahelyett, hogy egy nevet vagy számjegyet találgatna.
- Üdvözlés. Az ügynök generálja az üdvözlést, és mondatonként streameli a kicsengési késleltetés alatt, így abban a pillanatban indul, amikor felveszik a vonalat.
Hogyan teszteljük
- Megfigyelés a véglegesítés előtt a fordulóvég-modellnél, ahogy fent.
- A Prompt Studióban van hívás fül: a böngészőből felhívja az ügynököt, és ugyanazt az üdvözlést, csendkezelést és átadásokat hallja, mint telefonon.
- A Polygon-szondák szimulált beszélgetésekben ellenőrzik a viselkedést („rákérdezett-e az ügynök egy furcsa válasz után?”). A módszert a Hogyan értékelünk egy beszélgetést írja le, a Polygont pedig a Technológiák oldal.
- A terhelési teszt ellenőrzi, hogy mindez 100 futó hívással is helytáll: lásd Egy Server Unit terhelés alatt.