Telefon
Ulazni i izlazni glas, i SMS. Ne i telefonski pozivi.
Šta radi
Prepoznavanje i sinteza govora rade lokalno hostovani (self-hosted), usmeravaju se po jeziku preko različitih provajdera, sa slojem za smenu govornika koji upravlja prekidima i strimovanjem na nivou rečenice kako razgovor ne bi delovao kao voki-toki. Posebna SMS putanja je implementirana iza funkcije (feature flag) za razmenu tekstualnih poruka.
Zašto je važno
Glas je tačka na kojoj koncept "asistenta" ili oživljava ili propada, a kašnjenje je ključ svega. Lokalno hostovanje govora znači da vreme odziva ne zavisi od reda čekanja treće strane.
Kako funkcioniše
Govor podrazumevano radi lokalno hostovan (self-hosted)
Prepoznavanje i sinteza rade u sopstvenim kontejnerima, sa usmeravanjem provajdera po jeziku za jezike koje lokalni modeli loše podržavaju.
Smena govornika je eksplicitna
Kontrola smene i segmentacija rečenica upravljaju prekidima i strimovanjem, umesto da se čeka kompletan odgovor pre nego što se progovori.
Telefonija je ograničena samo na SMS i podrazumevano je isključena
SMS putanja je napravljena, ali je zaključana iza funkcije i zahteva nalog kod operatera. Glasovni pozivi su eksplicitno bili van opsega i nismo ih implementirali.
Pitanja
- Može li moj agent da se javi na telefon?
- Ne. Dolazni i odlazni pozivi ne postoje. Glas radi u veb-pregledaču; telefonija je ograničena samo na SMS i trenutno je onemogućena.
- Koje jezike podržava govor?
- Širok spektar, sa usmeravanjem na različite provajdere po jeziku, uključujući namenskog provajdera za indijske jezike gde opšti modeli daju lošije rezultate.
The rest of the bag
AccessControl
Dozvole po dokumentu koje filtriraju odgovore, a ne samo stranice.
Razrešavanje smernica se kešira po sesiji radi brzine; promena dozvole se primenjuje nakon poništavanja keša, a ne trenutno na svaki zahtev koji je u toku.
Dokumentacija
Stablo foldera koje agent čita i konfiguracioni fajl koji poštuje.
Izdvajanje pokriva PDF-ove, tabele i transkripte. Egzotični binarni formati se ne analiziraju.
Događaji
Trajni registar onoga što su agenti uradili i zašto.
Magistrala događaja unutar procesa je emiter sa jednim čvorom, a ne distribuirani broker. Trajni zapis između agenata je poseban Postgres registar zadataka.
That was step 1 of 6: a request arrives. Next, the subdomain is the isolation boundary, so the request resolves to one workspace, one database, and one question of whether it is even in scope.