Teeme oma Google'i kõnekontrolli Voximplandi ja Dialogflow põhjal.

Teeme oma Google'i kõnekontrolli Voximplandi ja Dialogflow põhjal.
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 pool kõnedest on rämps, 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):
Teeme oma Google'i kõnekontrolli Voximplandi ja Dialogflow põhjal.
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 ostke number, mis töötab vahendajana: и создайте новое приложение, например, screening:

Teeme oma Google'i kõnekontrolli Voximplandi ja Dialogflow põhjal.
Avage раздел «Номера» и купите номер, который будет работать в качестве посредника:

Teeme oma Google'i kõnekontrolli Voximplandi ja Dialogflow põhjal.
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. Kuidas kasutada Dialogflow Connectorit. Samuti on kood veidi muudetud, et saaksime „näha” dialooge helistaja ja assistendi vahel; kogu koodi saab leida siit.

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.

Teeme oma Google'i kõnekontrolli Voximplandi ja Dialogflow põhjal.
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.

Teeme oma Google'i kõnekontrolli Voximplandi ja Dialogflow põhjal.
Kui vajate näidis/katse agenti, siis võite võtta meie oma siit: github.com/aylarov/callscreening/tree/master/dialogflow. 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:
github.com/aylarov/callscreening/tree/master/nodejs

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 ngrok, käivitage see käsuga:

ngrok http 3000

Nä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 siit alla laadida.

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:

Mängi videot

P. S. Kui vajutada nuppu Intervene, suunatakse helistaja minu telefoninumbrile, ja kui vajutada Disconnect – siis…? Õige, kõne katkestatakse.

Allikas: habr.com
Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster