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: ja looge uus rakendus, nÀiteks screening:

Teeme oma Google'i kÔnekontrolli Voximplandi ja Dialogflow pÔhjal.
Avage jaotis „Numbrid” ja ostke number, mis toimib vahendajana:

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 veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster