Tehnologija
Šta je unutra u Dialogist AI glasovnom agentu
Izmereno kašnjenje, smena govornika, znanje i testiranje.
Četvrt sekunde
Od poslednje reči pozivaoca do prvog zvuka agenta, samom agentu treba oko četvrt sekunde.
≈ 0,27 s
232 ms da odluči da je pozivalac završio, zatim 35 ms do prvog zvuka
Šta merimo
Sat teče od kraja govora pozivaoca do prvog zvuka agentovog odgovora.
Odluka da je pozivalac završio
Tajmer tišine je ili spor ili upada u reč. Agent čeka 192 ms, a zatim pita mali model da li je rečenica završena. Model odgovara za oko 40 ms, pa se replika zatvara na oko 232 ms. Tajmeru samo za tišinu treba 512 ms.
Početak odgovora
Prepoznavanje radi od trenutka kada pozivalac počne da govori, pa je tekst spreman kada se replika zatvori. Uz rani start jezički model dobija tekst dok je agent još u pauzi, pa je njegova prva rečenica obično napisana do trenutka zatvaranja replike. Sinteza zatim kreće iz keša glasa ili iz te prve rečenice.
| Korak | Standardno | Rani start |
|---|---|---|
| Transkripcija (konačan tekst posle pauze) | 0,5 ms | 0,5 ms |
| Prva rečenica iz jezičkog modela | 111 ms | 3 ms |
| Glas, do prvog zvuka | 6 ms | 31 ms |
| Od odluke do prvog zvuka | 117 ms | 35 ms |
Transkripcija traje 0,5 ms posle odluke jer prepoznavanje radi u toku dok pozivalac govori i pravi probni prolaz tokom pauze. Uz rani start jezički model počinje na tom probnom tekstu unutar pauze, pa posle odluke ostaju 3 ms njegovog posla; u standardnom režimu svih 111 ms dolazi posle nje. U testu opterećenja rani zahtev je otišao pre odluke u 98% odgovora, u proseku 225 ms ranije pri 50 razgovora i 508 ms ranije pri 128. Ako pozivalac nastavi da govori, agent odbacuje pripremljeni odgovor i odgovara na celu rečenicu.
Pri 100 istovremenih poziva na jednom Server Unit-u isti korak traje oko 0,4 s u standardnom režimu i 0,25 s uz rani start. Cela slika je u belešci o Server Unit-u. Server Unit pod opterećenjem
- 232 msda se odluči da je pozivalac završio (pauza od 192 ms plus 40 ms modela); tajmer tišine traži 512 ms
- 35 msod te odluke do prvog zvuka uz rani start; 117 ms bez njega
- ≈ 0,3 svraća se po replici pozivaoca u stvarnim pozivima zahvaljujući modelu kraja replike, koji je rano zatvorio 87% replika
U 1.468 replika pozivalaca iz stvarnih poziva model kraja replike je rano zatvorio 87% replika, a 95% njih već pri prvom pogledu.
Gde su otišle milisekunde
Svaku izmenu smo izmerili posebno pre nego što je ušla u sistem. Zajedno su otprilike udvostručile broj poziva koje Server Unit nosi na Standard nivou.
- ušteda 89–235 ms
Rani start
Jezički model kreće na prepoznatom tekstu dok agent još čeka da prođe pauza. Ušteda raste sa opterećenjem: 89 ms pri jednom pozivu, 189 ms pri 96 razgovora, 235 ms pri 128.
- 280 → 40 ms
Mrtva tišina uklonjena iz govora
Sintetizovane rečenice počinju tišinom; medijana u našem kešu je 280 ms. Agent je skraćuje na 40 ms dok reprodukuje klip, pa je na liniji odgovor jednog poziva stizao oko 200 ms ranije. Keš čuva original.
- ušteda ≈ 0,3 s
Model kraja replike
Posle pauze od 192 ms mali model po intonaciji procenjuje da li je misao završena. U stvarnim pozivima rano je zatvorio 87% replika pozivalaca i sačekao 96% pauza usred misli. Može prvo da radi u režimu posmatranja i samo beleži šta bi uradio.
- 94%
Keš glasa
Agent sa diska reprodukuje fraze koje je već izgovorio. Keš preživljava restarte, a van radnog vremena agent proverava keširane klipove tako što ih prepoznaje, pa one koji ne prođu ponovo generiše.
Prva rečenica preskače red
Pod opterećenjem početak odgovora jednog poziva nikada ne čeka iza kraja odgovora drugog. Agent sintetizuje sledeće rečenice dok se prva reprodukuje.
Jedan sat za sve pozive
Medij svih poziva radi na jednom zajedničkom otkucaju od 20 ms, umesto jednog tajmera po pozivu.
Voicecore: medijski backend u Rustu (EN)- 69 → 0,7 µs
Jeftiniji audio frejmovi
Predaja frejma između telefonskog steka i agenta traje manje od mikrosekunde umesto desetak.
Voicecore: medijski backend u Rustu (EN)
Pre i posle: isti stend, jedan poziv od 20 minuta i 50 razgovora, agent za regrutaciju. Keš: 64.192 fraze u testu opterećenja. Predaja frejma: merena izolovano na biblioteci za telefoniju.
Sluša dok govori
Kanal pozivaoca ostaje otvoren. Detekcija glasa i prepoznavanje rade na njemu dok agent govori, a agent reaguje na ono što čuje.
Upadice koje nešto znače
Pozivalac može da govori preko agenta, a agent staje. Upadicu prepoznaje po tekstu ili po zvuku. Akustički režim ima sopstveni prag i traži neprekinut govor, pa tastatura, zalupljena vrata ili kašalj ne prekidaju agenta. Agent ignoriše kratak fragment niske pouzdanosti preko sopstvenog glasa, a tako izgleda eho.
Glas se povlači
Kada pozivalac počne da govori, glas agenta se stišava i zatamnjuje: manja jačina, manje visokih frekvencija. Ako pozivalac kaže nešto što se računa, agent staje. Posle „aha“ ili kašlja vraća se od najbliže granice sloga, od početka rečenice ili iz tačne tačke prekida. Podešava se po agentu.
„Aha“ u pauzama
Usred duge replike pozivaoca agent ubacuje kratke potvrde sopstvenim glasom. To su unapred snimljeni klipovi koje je čovek preslušao i odobrio. Reprodukuju se u pauzama, sa verovatnoćom, minimalnim razmakom, ograničenjem po replici i bez ponavljanja, a nikada kada model kraja replike smatra da je pozivalac završio.
Kaže kada nije siguran
Pouzdanost prepoznavanja ulazi u prompt agenta. Agent vidi nesigurnu transkripciju označenu kao takvu i traži od pozivaoca da ponovi umesto da pogađa ime ili broj.
Učtivo rukovanje tišinom
Ponovni upit, pa pozdrav, mereno od stvarnog kraja reprodukcije, a ne od kraja sinteze.
Prostorija oko glasa
Opcionalna pozadina kancelarije ili sale za sastanke, pomešana ispod glasa od prve sekunde poziva.
- Agent generiše pozdrav tokom odlaganja zvonjenja i šalje ga rečenicu po rečenicu.
- Širokopojasni G.722 gde ga druga strana podržava. Ublaženo automatsko pojačanje podiglo je odnos signal-šum sa 23 na 28,7 dB na 11 označenih stvarnih poziva.
- Agentovo „aha“ može da se vrati kroz liniju sa slušalice pozivaoca. Prepoznavanje ga uklanja iz transkripta, a agent drži potvrde van istorije razgovora.
Glasovi u toku, vaša imena
Klonirajte glas ili izaberite jedan iz kataloga, pa ga naučite kako da izgovara vaša imena.
Kloniranje glasa
Novi glas iz uzorka od 10 do 30 sekundi i njegovog transkripta.
Rečnici izgovora
Nazivi brendova, ulice i žargon izgovoreni onako kako ih vi izgovarate, sa preslušavanjem.
Jedan glas po agentu
Iz kataloga ili kloniran, brzinom koju zadate.
Sinteza u toku
Rečenicu po rečenicu: sledeća rečenica je spremna pre nego što se prva završi.
Atlas
Vaši dokumenti, pretraženi u okviru budžeta kašnjenja.
RAGKnowledge Hub
Atlas je naš knowledge hub. Agenta povezujete sa jednom ili više baza znanja, a Atlas vraća pasuse koji odgovaraju na pitanje.
Pretraga pre svakog odgovora
Brza pretraga traje oko 150 ms na serveru. Ako se ne vrati u roku od 400 ms, agent odgovara bez nje.
Dublja pretraga na zahtev
Za teška pitanja model sam traži obimniju pretragu. Traje 0,7 do 1,2 s, a agent u međuvremenu izgovara kratku frazu da linija ne zaćuti.
Hibridno pretraživanje
Pretraga po značenju i po ključnim rečima, spojene, uz reranker u dubljem režimu.
Bilo koji format
PDF, Office fajlovi, tabele, veb stranice i skenovi sa OCR-om. Atlas ponovo obilazi izvore po rasporedu.
Vidite zašto
U Prompt Studiju svaki odgovor pokazuje koje je baze znanja agent pretražio i šta se vratilo.
- ≈ 150 msbrza pretraga, na strani servera
- 0,7–1,2 sdublja pretraga
- 400 msbudžet pre nego što agent nastavi bez nje
Atlasov test domen: 144 do 156 ms na strani servera u brzom režimu; 636 do 1.090 ms u dubljem režimu, 0,73 do 1,20 s ukupnog vremena.
Polygon
Probni poligon za glasovne agente. Simulira pozivaoce, ocenjuje svaki razgovor i pokazuje gde se dve verzije agenta počinju razlikovati. U paketu Pro to je simulacija dijaloga.
- Scenario
- Simulirani pozivalac
- Razgovor
- Determinističke provere
- Sudija
- Probe ponašanja
- Poređenje
Jedna ocena, osam kriterijuma
Sudija čita ceo razgovor, činjenice o pozivaocu i trag korišćenja alata, pa ocenjuje svaki kriterijum uz dokaz citiran iz transkripta.
- Ostvarenje cilja25
- Poštovanje uputstava15
- Kvalitet korišćenja alata15
- Činjenična tačnost10
- Kvalitet dijaloga10
- Otpornost10
- Usklađenost sa bezbednošću10
- Persona i ton5
0 do 100: prolaz od 75, upozorenje od 50
Pada bez obzira na ocenu
- Zabranjena fraza u govoru agenta
- Kršenje bezbednosti
- Neispravan poziv alata koji je stigao do pozivaoca
Gde se dve verzije razilaze
PozivalacTreba da pomerim termin.
Verzija A: Naravno. Koji je broj vaše rezervacije?
Verzija B: Naravno. Koji je broj vaše rezervacije?
PozivalacČetiri četiri jedan sedam.
Verzija A: Hvala. Četvrtak u deset ili petak u dva?
Verzija B: Hvala. Četvrtak u deset ili petak u dva?
Tačka razilaženja · replika 3
PozivalacPetak.
Verzija A: Gotovo: petak u dva. Dobićete SMS.
Verzija B: Izvinite, možete li da ponovite broj?
Ilustracija: isti simulirani pozivalac prema dve verzije agenta. Polygon poravnava razgovore replika po replika i označava prvu repliku u kojoj se razlikuju.
Pozivaoci koji se opiru
- Simulirani pozivaoci sa poznatom istinom
- Šest tipova pozivalaca (saradljiv, zauzet, nepoverljiv, zbunjen, agresivan, brbljiv), četiri željena ishoda i pet nivoa težine. Svaki pozivalac nosi sopstvene činjenice, pa sudija zna da li je agent ostvario cilj i da li je nešto izmislio.
- Generisano iz vašeg agenta
- Polygon piše pozivaoce na osnovu prompta samog agenta i ponovo ih generiše kada se prompt promeni.
- Namerno tvrd pristup
- Šum prepoznavanja (ispuštene reči, cifre čitane jedna po jedna, reči sličnog zvuka), spori ili neispravni alati, pozivaoci koji upadaju u reč i skreću s teme. Sa zadatim semenom, pa se razgovor koji padne ponavlja replika po replika.
Ocena koja nešto znači
- Osam kriterijuma, ponderisanih za telefonskog agenta
- Ostvarenje cilja vredi pet puta više od tona. Ocena od 0 do 100, uz prolaz, upozorenje ili pad.
- Tvrde kapije
- Zabranjena fraza, kršenje bezbednosti ili neispravan poziv alata koji je stigao do pozivaoca obara razgovor bez obzira na ocenu.
- Sudija koji ne pogađa
- Sudija za svaku ocenu navodi dokaz iz transkripta, ponovljena ocenjivanja se spajaju medijanom, a kriterijum bez ocene računa se kao minimum.
Ponašanje, jedno po jedno pitanje
- Probe
- Provere sa da/ne odgovorom, poput „da li je agent ponovo pitao posle čudnog odgovora?“, iskazane sa intervalom od 95%, tako da niko ne čita „3 od 4“ kao 75%.
- Deterministične metrike
- Računaju se na svakom transkriptu, uz detekciju petlji koja prekida razgovor koji se vrti u krug.
Dve verzije, jedna pored druge
- Matrica scenarija i verzija
- Poređana po tome gde se verzije najviše ne slažu.
- Tačka razilaženja
- Prva replika u kojoj se dva razgovora razilaze, sa transkriptima poravnatim jedan pored drugog.
- Pretraga parametara
- Po modelima i podešavanjima, jedan faktor po jedan, na mreži ili nasumično, rangirano po oceni, zatim po stabilnosti, pa po brzini.
Pre prvog poziva i posle poslednjeg
- Analiza prompta
- Pre nego što se ijedan razgovor pokrene, Polygon čita prompt i ističe preopterećena uputstva, zakopana pravila, sukobe, nejasnoće i ponavljanja.
- Stvarni pozivi
- Uvezite transkripte iz produkcije i ocenite ih istom rubrikom i probama, da vidite da li nova verzija bolje prolazi na pozivima iz prošlog meseca.
- Čuva se svaka verzija
- Promptovi, pozivaoci, zamene za alate, rubrike i probe su nepromenljive verzije koje možete da poredite.
- 8ocenjenih kriterijuma
- 3tvrde kapije
- 6tipova pozivalaca
- 5nivoa težine
U paketu Pro kao simulacija dijalogaKako ocenjujemo razgovor
Sopstvena infrastruktura
Sopstveni modeli i modeli otvorenih težina na serverima koje vodimo u EU, ili na vašim. Nijedan zvuk ni tekst pozivaoca ne ide spoljnom AI provajderu.
- Jezički model
- Jezički model otvorenih težina na našim GPU-ovima
- Prepoznavanje govora
- Oasis Speech, naša interna usluga prepoznavanja; razume 48 jezika → Oasis Speech 2
- Sinteza govora
- Neuralni glasovi u toku, gotovi ili klonirani iz vašeg uzorka
- Smena govornika
- Detekcija glasovne aktivnosti i model kraja replike
- Znanje
- Atlas, naš knowledge hub, sa embeddinzima i rerankerom
- Testiranje
- Polygon, naš poligon za testiranje razgovora → Kako ocenjujemo razgovor
- Obuka
- Cadence, radno okruženje u kom treniramo Oasis Speech. Javni repozitorijum je fork našeg produkcionog sistema, pod MIT licencom → Cadence
- Telefonija
- SIP sa G.722 i G.711, na Incoplax telefoniji
On-premise, ceo stek se instalira na vaše servere pomoću Dockera, po potrebi i bez interneta. Server Unit nosi 100 istovremenih poziva i testiran je do 176% toga. Server Unit pod opterećenjem
100 poziva po Server Unit-u, testirano do 176%
Server Unit nosi ceo glasovni stek za do 100 istovremenih poziva. Opterećenje smo podizali od jednog poziva do 176% nazivnog kapaciteta i pratili vreme odgovora, udeo odgovorenih replika i same pozive. Zatim smo optimizovali stek za veliko opterećenje i ponovili test: kapacitet na Standard nivou se otprilike udvostručio, a na najvišem koraku svi pozivi su se povezali i nijedan nije pao.
Izmereno na jednom Server Unit-u.
U brojkama
Izmereno na stendu za test opterećenja sa agentom za regrutaciju, osim ako nije drugačije navedeno.
- ≈ 0,27 ssopstveno vreme agenta od poslednje reči pozivaoca do prvog zvuka agenta
- 35 msod odluke da je pozivalac završio do prvog zvuka, uz rani start
- 96%replika ima prepoznati tekst spreman u roku od 10 ms od te odluke
- ≈ 100 msdo prvog zvuka sveže sintetizovane rečenice (medijana)
- ≈ 1 msda se reprodukuje fraza koja je već u kešu glasa
- 5–8×brže od stvarnog vremena: koliko brzo se glas sintetizuje
- 94%prvih fraza dolazi iz keša glasa
- 98%odgovora pokreće jezički model pre kraja pauze
- > 99%replika pozivalaca odgovoreno pri 176% nazivnog kapaciteta
- ≈ 150 msza brzu pretragu znanja na serveru
Spremnost prepoznavanja: 96 do 97% od 58.000 replika pri svim opterećenjima. Brzina glasa: medijana 5,0 do 6,5× pri različitim nivoima opterećenja, samo promašaji keša. Prvi zvuk sveže rečenice: medijana 76 do 106 ms pri različitim nivoima opterećenja.
Sledeći korak
Čujte tu četvrt sekunde sami: na početnoj stranici je poziv uživo sa jednim od naših agenata.
Pridružite se čekoj listi
Uvodno otvaramo pristup postepeno. Obavestićemo vas kada se otvori vaše mesto.