Telefon
Intrare și ieșire voce și SMS. Fără apeluri telefonice.
Ce face
Recunoașterea și sinteza vocală rulează self-hosted, fiind direcționate per limbă către diferiți furnizori, cu un strat de gestionare a rândului la vorbire care se ocupă de întreruperi și streaming la nivel de propoziție, astfel încât o conversație vorbită să nu semene cu un walkie-talkie. O cale separată pentru SMS este implementată în spatele unui feature flag pentru mesaje text.
De ce contează
Vocea este elementul în care conceptul de „asistent” devine realitate sau se prăbușește, iar latența reprezintă totul. Găzduirea proprie (self-hosted) a funcțiilor vocale înseamnă că timpul de răspuns nu depinde de o coadă de așteptare a unui terț.
Cum funcționează
Funcțiile vocale rulează self-hosted în mod implicit
Recunoașterea și sinteza rulează în propriile containere, cu direcționare per limbă către furnizori pentru limbile pe care modelele locale le gestionează slab.
Gestionarea rândului la vorbire este explicită
Un sistem de control al rândului și un divizor de propoziții gestionează întreruperea și streamingul, în loc să aștepte un răspuns complet înainte de a vorbi.
Telefonia este exclusiv prin SMS și dezactivată în mod implicit
Calea pentru SMS este creată, dar blocată în spatele unui flag și necesită un cont de operator. Apelurile vocale au fost în mod explicit în afara ariei de acoperire și nu le-am implementat.
Întrebări
- Poate agentul meu să răspundă la telefon?
- Nu. Nu există apeluri de intrare sau de ieșire. Vocea funcționează în browser; telefonia este exclusiv prin SMS și este în prezent dezactivată.
- Ce limbi sunt acceptate pentru funcțiile vocale?
- Un set larg, cu direcționare către diferiți furnizori per limbă, inclusiv un furnizor dedicat pentru limbile indice, unde modelele generale au performanțe scăzute.
The rest of the bag
AccessControl
Permisiuni per document care filtrează răspunsurile, nu doar paginile.
Rezoluția politicii este stocată în cache per sesiune pentru rapiditate; o modificare a permisiunilor se propagă la invalidarea cache-ului, nu instantaneu pentru fiecare solicitare în curs de desfășurare.
Documentație
O structură de directoare pe care agentul o citește și un fișier de configurare de care ascultă.
Extragerea acoperă PDF-uri, foi de calcul și transcrieri. Formatele binare exotice nu sunt analizate.
Evenimente
Un registru durabil cu ceea ce au făcut agenții și de ce.
Magistrala de evenimente în proces (in-process event bus) este un emițător cu un singur nod, nu un broker distribuit. Înregistrarea durabilă între agenți este un registru de sarcini Postgres separat.
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.