Tehnologije
Šta je unutar Dialogist AI glasovnog agenta
Izmjereno kašnjenje, smjena govornika, znanje i testiranje.
Četvrtina sekunde
Od posljednje riječi pozivaoca do prvog zvuka agenta, samom agentu treba oko četvrtine sekunde.
≈ 0,27 s
232 ms da odluči da je pozivalac završio, zatim 35 ms do prvog zvuka
Šta mjerimo
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 ljudima u riječ. 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. Samom tajmeru tišine treba 512 ms.
Početak odgovora
Prepoznavanje govora radi otkako je pozivalac počeo da govori, pa je tekst spreman kada se replika zatvori. Sa ranim startom jezički model dobija tekst dok je agent još unutar pauze, pa je njegova prva rečenica obično napisana do trenutka kada se replika zatvori. Sinteza govora tada kreće iz glasovnog keša ili iz te prve rečenice.
| Korak | Standardno | Rani start |
|---|---|---|
| Transkripcija (konačan tekst poslije 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 |
Transkripciji treba 0,5 ms poslije odluke jer se prepoznavanje govora odvija u toku dok pozivalac govori i pravi probni prolaz tokom pauze. Sa ranim startom jezički model počinje na tom probnom tekstu unutar pauze, pa poslije odluke preostaju 3 ms njegovog rada; u standardnom režimu svih 111 ms dolazi poslije nje. U testu opterećenja rani zahtjev je otišao prije odluke u 98% odgovora, u prosjeku 225 ms ranije pri 50 razgovora i 508 ms ranije pri 128. Ako pozivalac nastavi da govori, agent odbacuje pripremljeni odgovor i odgovara na cijelu frazu.
Pri 100 istovremenih poziva na jednom Server Unit-u isti korak traje otprilike 0,4 s u standardnom režimu i 0,25 s sa ranim startom. Cjelovitu sliku daje bilješka o Server Unit-u. Server Unit pod opterećenjem
- 232 msda odluči da je pozivalac završio (pauza od 192 ms plus 40 ms modela); tajmeru tišine treba 512 ms
- 35 msod te odluke do prvog zvuka sa ranim startom; 117 ms bez njega
- ≈ 0,3 sušteđeno po replici pozivaoca u stvarnim pozivima zahvaljujući modelu kraja replike, koji je rano zatvorio 87% replika
Na 1.468 replika pozivalaca u stvarnim pozivima model kraja replike rano je zatvorio 87% replika, 95% njih već pri prvoj procjeni.
Gdje su otišle milisekunde
Svaku izmjenu smo izmjerili zasebno prije nego što je ušla u sistem. Zajedno su otprilike udvostručile broj poziva koje Server Unit nosi na standardnom nivou.
- ušteđeno 89–235 ms
Rani start
Jezički model počinje na prepoznatom tekstu dok agent još čeka kraj pauze. Ušteda raste sa opterećenjem: 89 ms sa jednim pozivom, 189 ms pri 96 razgovora, 235 ms pri 128.
- 280 → 40 ms
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 pušta isječak, pa je odgovor jednog poziva na liniji stizao oko 200 ms ranije. Keš čuva original.
- ušteđeno ≈ 0,3 s
Model kraja replike
Poslije pauze od 192 ms mali model po intonaciji procjenjuje da li je misao završena. U stvarnim pozivima rano je zatvorio 87% replika pozivalaca i sačekao 96% pauza usred misli. Prvo može raditi u režimu posmatranja i samo bilježiti šta bi uradio.
- 94%
Glasovni keš
Agent fraze koje je već izgovorio pušta sa diska. Keš preživljava restarte, a van radnog vremena agent ponovo provjerava keširane isječke tako što ih prepoznaje i regeneriše one koji ne prođu.
Prva rečenica preskače red
Pod opterećenjem, početak odgovora jednog poziva nikad ne čeka iza kraja odgovora drugog. Agent sintetizuje sljedeće rečenice dok se prva reprodukuje.
Jedan sat za sve pozive
Medij za sve pozive radi na jednom zajedničkom taktu od 20 ms, umjesto tajmera po pozivu.
Voicecore: medijski backend u Rustu (EN)- 69 → 0,7 µs
Jeftiniji audio okviri
Predaja okvira između telefonskog steka i agenta traje manje od mikrosekunde umjesto desetina.
Voicecore: medijski backend u Rustu (EN)
Prije i poslije: ista stanica, jedan 20-minutni poziv i 50 razgovora, agent za zapošljavanje. Keš: 64.192 fraze u testu opterećenja. Predaja okvira: mjereno izolovano na telefonskoj biblioteci.
Sluša dok govori
Kanal pozivaoca ostaje otvoren. Detekcija glasa i prepoznavanje govora rade na njemu dok agent govori, a agent postupa prema onome što čuje.
Prekidi koji nešto znače
Pozivalac može da govori preko agenta, a agent prestaje. Prekid prepoznaje po tekstu ili po zvuku. Akustički režim ima vlastiti prag i traži neprekinut govor, pa tastatura, zalupljena vrata ili kašalj ne prekidaju agenta. Agent ignoriše kratak fragment niske pouzdanosti preko vlastitog glasa, jer tako izgleda eho.
Glas se povlači
Kada pozivalac počne da govori, agentov glas se stiša i potamni: manja jačina, manje visokih frekvencija. Ako pozivalac kaže nešto važno, agent staje. Poslije „aha“ ili kašlja nastavlja od najbliže granice sloga, od početka rečenice ili od tačnog mjesta. Podešava se po agentu.
„Aha“ u pauzama
Unutar duže replike pozivaoca, agent ubacuje kratka potvrđivanja svojim glasom. To su unaprijed snimljeni isječci koje je čovjek poslušao i odobrio. Puštaju se u pauzama, uz određenu vjerovatnoću, minimalni razmak, ograničenje po replici i bez ponavljanja, a nikad kada model kraja replike misli da je pozivalac završio.
Kaže kada nije siguran
Pouzdanost prepoznavanja ulazi u agentov prompt. Agent vidi nesigurnu transkripciju označenu kao takvu i traži od pozivaoca da ponovi, umjesto da pogađa ime ili broj.
Ljubazno postupanje sa tišinom
Ponovni upit, pa pozdrav, mjereno od stvarnog kraja reprodukcije, a ne od kraja sinteze.
Prostor oko glasa
Opciona pozadina kancelarije ili sale za sastanke, pomiješana ispod glasa od prve sekunde poziva.
- Agent generiše pozdrav tokom kašnjenja prije zvonjenja i šalje ga rečenicu po rečenicu.
- Širokopojasni G.722 gdje ga druga strana podržava. Ujednačena kontrola pojačanja podigla je odnos signal-šum sa 23 na 28,7 dB na 11 označenih stvarnih poziva.
- Agentovo vlastito „aha“ može se vratiti niz liniju sa slušalice pozivaoca. Prepoznavanje ga uklanja iz transkripta, a agent drži potvrđivanja van istorije razgovora.
Glasovi u toku, vaša imena
Klonirajte glas ili izaberite jedan iz kataloga i naučite ga kako se izgovaraju vaša imena.
Kloniranje glasa
Novi glas iz uzorka od 10 do 30 sekundi i njegovog transkripta.
Rječnici izgovora
Nazivi brendova, ulice i žargon izgovoreni onako kako ih vi izgovarate, uz preslušavanje.
Jedan glas po agentu
Iz kataloga ili kloniran, brzinom koju vi postavite.
Sinteza u toku
Rečenicu po rečenicu: sljedeća rečenica je spremna prije 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. Povežete agenta sa jednom ili više baza znanja, a Atlas vraća odlomke koji odgovaraju na pitanje.
Pretraga prije 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 zahtjev
Za teška pitanja model sam traži potpuniju pretragu. Traje 0,7 do 1,2 s, a agent u međuvremenu izgovara uzrečicu, da linija ne utihne.
Hibridno pretraživanje
Pretraga po značenju i po ključnim riječima, spojene, uz reranker u dubljem režimu.
Bilo koji format
PDF, Office datoteke, tabele, web stranice i skenovi sa OCR-om. Atlas po rasporedu ponovo pretražuje izvore.
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 prije nego što agent nastavi bez nje
Atlas 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
Test klupa za glasovne agente. Simulira pozivaoce, ocjenjuje svaki razgovor i pokazuje gdje se dvije verzije agenta počinju razlikovati. U paketu Pro zove se Simulacija dijaloga.
- Scenario
- Simulirani pozivalac
- Razgovor
- Determinističke provjere
- Sudija
- Sonde ponašanja
- Poređenje
Jedna ocjena, osam kriterijuma
Sudija čita cijeli razgovor, činjenice pozivaoca i trag korišćenja alata i ocjenjuje svaki kriterijum dokazom citiranim iz transkripta.
- Ostvarenje cilja25
- Poštovanje uputstava15
- Kvalitet upotrebe alata15
- Činjenična tačnost10
- Kvalitet dijaloga10
- Otpornost10
- Bezbjednosna usklađenost10
- Persona i ton5
0 do 100: prolaz od 75, upozorenje od 50
Pada bez obzira na ocjenu
- Zabranjena fraza u agentovom govoru
- Bezbjednosni prekršaj
- Neispravan poziv alata koji je stigao do pozivaoca
Gdje se dvije verzije razilaze
PozivalacTreba mi da pomjerim termin.
Verzija A: Naravno. Koji je vaš broj rezervacije?
Verzija B: Naravno. Koji je vaš broj 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 poruku.
Verzija B: Izvinite, možete li ponoviti broj?
Ilustracija: isti simulirani pozivalac prema dvije 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, nepovjerljiv, zbunjen, agresivan, razgovorljiv), četiri željena ishoda i pet nivoa težine. Svaki pozivalac nosi svoje činjenice, pa sudija zna da li je agent ostvario cilj i da li je išta izmislio.
- Generisani iz vašeg agenta
- Polygon piše pozivaoce iz agentovog vlastitog prompta i ponovo ih generiše kada se prompt promijeni.
- Namjerno loša linija
- Šum prepoznavanja (izostavljene riječi, cifre čitane jedna po jedna, riječi koje zvuče slično), spori ili neispravni alati, pozivaoci koji prekidaju i skreću sa teme. Sa fiksnim sjemenom, pa se razgovor koji padne ponavlja repliku po repliku.
Ocjena koja nešto znači
- Osam kriterijuma, ponderisanih za telefonskog agenta
- Ostvarenje cilja vrijedi pet puta više od tona. Ocjena od 0 do 100, sa prolazom, upozorenjem ili padom.
- Eliminatorni uslovi
- Zabranjena fraza, bezbjednosni prekršaj ili neispravan poziv alata koji je stigao do pozivaoca obara razgovor bez obzira na ocjenu.
- Sudija koji ne pogađa
- Sudija za svaku ocjenu citira dokaz iz transkripta, ponovljena ocjenjivanja se spajaju medijanom, a neocijenjen kriterijum računa se kao minimum.
Ponašanje, jedno pitanje po jedno
- Sonde
- Provjere sa odgovorom da/ne, kao što je „da li je agent ponovo pitao poslije čudnog odgovora?“, iskazane sa intervalom od 95%, da niko „3 od 4“ ne pročita kao 75%.
- Determinističke metrike
- Računaju se na svakom transkriptu, uz detekciju petlji koja prekida razgovor koji se vrti u krug.
Dvije verzije, jedna uz drugu
- Matrica scenarija po verziji
- Poređana po tome gdje se verzije najviše razilaze.
- Tačka razilaženja
- Prva replika u kojoj se dva razgovora razdvajaju, sa transkriptima poravnatim jedan pored drugog.
- Pretrage parametara
- Po modelima i podešavanjima, jedan faktor po jedan, po mreži ili nasumično, rangirano po ocjeni, pa po stabilnosti, pa po brzini.
Prije prvog poziva i poslije posljednjeg
- Analiza prompta
- Prije nego što se pokrene ijedan razgovor, Polygon čita prompt i ističe preopterećena uputstva, zatrpana pravila, sukobe, dvosmislenosti i ponavljanja.
- Stvarni pozivi
- Uvezite produkcijske transkripte i ocijenite ih istim kriterijumima i sondama, da vidite radi li nova verzija bolje na pozivima iz prošlog mjeseca.
- Svaka verzija se čuva
- Promptovi, pozivaoci, simulirani alati, kriterijumi i sonde su nepromjenjive verzije koje možete porediti.
- 8ocjenjivanih kriterijuma
- 3eliminatorna uslova
- 6tipova pozivalaca
- 5nivoa težine
Uključeno u Pro kao Simulacija dijalogaKako ocjenjujemo razgovor
Naša vlastita infrastruktura
Naši vlastiti modeli i modeli sa otvorenim težinama, na serverima koje vodimo u EU, ili na vašim. Nikakav zvuk ni tekst pozivaoca ne ide spoljnom provajderu vještačke inteligencije.
- Jezički model
- Jezički model sa otvorenim težinama na našim vlastitim GPU-ovima
- Prepoznavanje govora
- Oasis Speech, naš vlastiti servis za prepoznavanje govora; razumije 48 jezika → Oasis Speech 2
- Sinteza govora
- Neuralni glasovi u toku, gotovi ili klonirani iz vašeg uzorka
- Smjena govornika
- Detekcija glasovne aktivnosti i model kraja replike
- Znanje
- Atlas, naš Knowledge Hub, sa embeding modelima i rerankerom
- Testiranje
- Polygon, naša test klupa za razgovore → Kako ocjenjujemo razgovor
- Treniranje
- Cadence, radna okolina u kojoj treniramo Oasis Speech. Javni repozitorijum je fork našeg produkcijskog sistema, pod MIT licencom → Cadence
- Telefonija
- SIP sa G.722 i G.711, na Incoplax telefoniji
On-premise, cijeli stek se instalira na vaše servere pomoću Dockera, po potrebi i bez interneta. Server Unit nosi 100 istovremenih poziva i testiran je pod opterećenjem do 176% toga. Server Unit pod opterećenjem
100 poziva po Server Unit-u, testirano pod opterećenjem do 176%
Server Unit nosi cijeli glasovni stek za do 100 istovremenih poziva. Opterećenje smo podizali korak po korak, od jednog poziva do 176% nazivnog kapaciteta, i pratili vrijeme odgovora, udio odgovorenih replika i same pozive. Zatim smo optimizovali stek za veliko opterećenje i ponovili test: kapacitet na standardnom nivou otprilike se udvostručio, a na najvišem koraku svaki poziv je povezan i nijedan nije prekinut.
Izmjereno na jednom Server Unit-u.
U brojkama
Izmjereno na test stanici za opterećenje sa agentom za zapošljavanje, osim ako je drugačije navedeno.
- ≈ 0,27 svlastito vrijeme agenta od posljednje riječi pozivaoca do prvog zvuka
- 35 msod odluke da je pozivalac završio do prvog zvuka, sa ranim startom
- 96%replika ima prepoznati tekst spreman u roku od 10 ms od te odluke
- ≈ 100 msdo prvog zvuka tek sintetizovane rečenice (medijana)
- ≈ 1 msda se pusti fraza koja je već u glasovnom kešu
- 5–8×brže od stvarnog vremena: koliko brzo se glas sintetizuje
- 94%prvih fraza dolazi iz glasovnog keša
- 98%odgovora pokrene jezički model prije 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× kroz nivoe opterećenja, samo promašaji keša. Prvi zvuk nove rečenice: medijana 76 do 106 ms kroz nivoe opterećenja.
Sljedeći korak
Čujte tu četvrtinu sekunde sami: na početnoj stranici je poziv uživo sa jednim od naših agenata.
Pridružite se listi čekanja
Timove puštamo postepeno. Obavijestićemo vas imejlom kada se oslobodi vaše mjesto.