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

Sa ranim startom. Isprekidano: posao koji počinje unutar pauze, prije odluke. Sivo: sinteza govora, potrebna samo kada rečenice nema u glasovnom kešu. Bez ranog starta prvi zvuk stiže 117 ms poslije odluke.

Š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.

Šta preostaje poslije odluke
KorakStandardnoRani start
Transkripcija (konačan tekst poslije pauze)0,5 ms0,5 ms
Prva rečenica iz jezičkog modela111 ms3 ms
Glas, do prvog zvuka6 ms31 ms
Od odluke do prvog zvuka117 ms35 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.

Slušanje dok govori: cijela bilješka

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.

  1. Scenario
  2. Simulirani pozivalac
  3. Razgovor
  4. Determinističke provjere
  5. Sudija
  6. Sonde ponašanja
  7. 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.

  1. Ostvarenje cilja25
  2. Poštovanje uputstava15
  3. Kvalitet upotrebe alata15
  4. Činjenična tačnost10
  5. Kvalitet dijaloga10
  6. Otpornost10
  7. Bezbjednosna usklađenost10
  8. 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

  1. PozivalacTreba mi da pomjerim termin.

    Verzija A: Naravno. Koji je vaš broj rezervacije?

    Verzija B: Naravno. Koji je vaš broj rezervacije?

  2. 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?

  3. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

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.

Server Unit pod opterećenjem

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.

Isprobajte uživo

Pridružite se listi čekanja

Timove puštamo postepeno. Obavijestićemo vas imejlom kada se oslobodi vaše mjesto.