VĂ”ib-olla olete kuulnud vĂ”i lugenud funktsioonist Call Screening, mille Google tutvustas oma Pixel telefonidele Ameerika Ăhendriikides. Idee on suurepĂ€rane â kui teile tuleb sissetulev kĂ”ne, hakkab virtuaalne assistent suhtlema, samal ajal kui te nĂ€ete seda vestlust vestlusena ja igal ajal saate hakata rÀÀkima assistendi asemel. See on tĂ€napĂ€eval vĂ€ga kasulik, kui peaaegu , kuid samas ei taha te jĂ€tta vahele olulisi kĂ”nesid kellegilt, kes ei ole teie kontaktide loendis. Ainus takistus on see, et see funktsioon on saadaval ainult Pixel telefonides ja ainult Ameerika Ăhendriikides. Noh, takistusi on, et neid ĂŒletada, eks? SeetĂ”ttu otsustasime rÀÀkida, kuidas luua sarnane lahendus, kasutades Voximplant'i ja Dialogflow'd. Palun lugege edasi.
Arhitektuur
Ma ei soovi aega raisata sellele, kuidas Voximplant ja Dialogflow töötavad; soovi korral leiate Internetist hÔlpsasti teavet. Nii et tutvume tÔeliselt meie Call Screening'i kontseptsiooniga.
Oletame, et teil on juba mingi telefoninumber, mida kasutate igapĂ€evaselt ja kuhu saate olulisi kĂ”nesid. Sellisel juhul vajame teist numbrit, mis oleks esitatud igal pool â e-kirjades, visiitkaartidel, kui tĂ€idate veebivorme jne. See number ĂŒhendatakse loomuliku keele töötlemise sĂŒsteemiga (meie puhul Dialogflow) ja suunab kĂ”ned teie pĂ”hitelefonile, ainult kui soovite. Skeemina nĂ€eb see vĂ€lja nii (pilt on klikkitav):
MĂ”istes arhitektuuri, saame hakata rakendama, kuid ĂŒhe tingimusega: me ei tee mobiilirakendust, et nĂ€idata dialooge Dialogflow ja sissetuleva kĂ”neleja vahel, vaid loome lihtsa veebirakenduse dialooge renderdamiseks, et visuaalselt nĂ€idata Call Screening'i pĂ”himĂ”tet. Selles rakenduses on nupp Intervene, millele vajutades Voximplant ĂŒhendab sissetuleva kĂ”neleja numbriga, kui viimane otsustab ise rÀÀkida. Logige sisse oma Voximplant'i kontoleja looge uus rakendus, nĂ€iteks screening:
Rakendamine
jaotist "Numbrid" ja looge uus rakendus, nÀiteks screening:

Avage ja ostke number, mis toimib vahendajana:

SeejĂ€rel minge screening rakendusse, jaotisse «Numbrid», vahekaardile «Saadaval». Siin nĂ€ete just ostetud numbrit. Siduge see rakendusega, vajutades nuppu «Kinnita» â avanenud aknas jĂ€tke kĂ”ik vaikevÀÀrtused ja vajutage «Kinnita».
Rakenduses viibides minge vahekaardile «Stsenarid» ja looge stsenaarium myscreening â seal kasutame artiklist kood. . Samuti on kood veidi muudetud, et saaksime ânĂ€haâ dialooge helistaja ja assistendi vahel; kogu koodi saab .
TĂHELEPANU: peate muutma muutuja server vÀÀrtust oma ngrok-serveri nimeks (rohkelt teavet ngroki kohta tuleb veidi allpool). Samuti sisestage oma vÀÀrtused 31. real, kus your phone number â see on teie peamine number (nĂ€iteks isiklik mobiil) ja voximplant number â number, mille te hiljuti ostsite.
outbound_call = VoxEngine.callPSTN(âTEIE TELEFONINUMBERâ, âVOXIMPLANT NUMBERâ)callPSTN kĂ”ne toimub hetkel, kui otsustate vestlusesse sekkuda ja isiklikult siseneda, et kĂ”nelejat tervitada.
PĂ€rast stsenaariumi salvestamist peate selle siduma ostetud numbriga. Selleks, olles ikka veel oma rakenduses, minge vahekaardile «Rohkearvutus», et luua uus reegel â nupp «Uus reegel» paremas ĂŒlanurgas. MÀÀrake nimi (nĂ€iteks allcalls), jĂ€tke mask vaikevÀÀrtuseks (.* â mis tĂ€hendab, et kĂ”ik sisenevad kĂ”ned kĂ€sitletakse selle reegli jaoks valitud stsenaariumide poolt) ja mÀÀrake stsenaarium myscreening.

Salvestage reegel.
NĂŒĂŒdsest on telefoninumber seotud stsenaariumiga. Viimane, mida tuleb teha, on siduda robot rakendusega. Selleks minge vahekaardile «Dialogflow-connector», vajutage nuppu «Lisa Dialogflow agent» paremas ĂŒlanurgas ja laadige ĂŒles oma Dialogflow agendi JSON-fail.

Kui vajate nĂ€idis/katse agenti, siis vĂ”ite vĂ”tta meie oma siit: . Ainult Ă€rge nĂ”udke temalt liiga palju, see on vaid nĂ€idis, mida vĂ”ite vabalt muuta nii, nagu soovite, ja julgelt tulemusi jagada đ
Lihtne tagapind NodeJS-il
LĂ€hme ĂŒles seadma lihtsat NodeJS tagapinda, nĂ€iteks sellist:
See on tavaline rakendus, mis vajab kÀivitamiseks vaid kahte kÀsku:
npm install
node index.js
Server kĂ€ivitub teie masina 3000. pordil, seega kasutame selle ĂŒhendamiseks Voximplant pilvega utiliiti ngrok. Kui olete installinud , kĂ€ivitage see kĂ€suga:
ngrok http 3000NĂ€ete domeeninime, mille ngrok genereeris teie kohaliku serveri jaoks â kopeerige see ja asetage muutuja serverisse.
Kliendi
Kliendirakendus nÀeb vÀlja nagu lihtne vestlus, mille saate.
Lihtsalt kopeerige kĂ”ik failid oma veebiserveri mĂ”nda kataloogi ja see töötab. Failis script.js asendage muutuja server vÀÀrtus ngrok domeeninimega ning muutuja callee vÀÀrtus numbriga, mille olete ostnud. Salvestage fail ja kĂ€ivitage rakendus brauseris. Kui kĂ”ik on korras, nĂ€ete WebSocketi ĂŒhendust arendaja paneelis.
Demo
Rakendust saab nÀha tegutsenuna selles videos:

P. S. Kui vajutada nuppu Intervene, suunatakse helistaja minu telefoninumbrile, ja kui vajutada Disconnect â siisâŠ? Ăige, kĂ”ne katkestatakse.
Allikas: habr.com
