Farante vian propran Google Call Screening bazita sur Voximplant kaj Dialogflow

Farante vian propran Google Call Screening bazita sur Voximplant kaj Dialogflow
Eble vi aŭdis aŭ legis pri la funkcio de Voka Kribro, kiun Google lanĉis por siaj Pixel-telefonoj en Usono. La ideo estas bonega - kiam vi ricevas envenantan vokon, la virtuala asistanto komencas komuniki, dum vi vidas ĉi tiun konversacion en formo de babilejo kaj iam ajn vi povas komenci paroli anstataŭ la asistanto. Ĉi tio estas tre utila ĉi tiuj tagoj, kiam preskaŭ duono de la vokoj estas spamo, sed vi ne volas maltrafi gravajn alvokojn de iu ne en via kontaktlisto. La sola kapto estas, ke ĉi tiu funkcio nur disponeblas en la Pixel-telefono kaj nur en Usono. Nu, obstakloj estas venkeblaj, ĉu ne? Tial ni decidis diri al vi kiel fari similan solvon uzante Voximplant kaj Dialogflow. Bonvolu sub kato.

arkitekturo

Mi sugestas, ke vi ne perdu tempon klarigante kiel funkcias Voximplant kaj Dialogflow; se vi deziras, vi povas facile trovi informojn en la Interreto. Do ni konatiĝu kun la koncepto mem de nia Voka Kontrolado.

Ni supozu, ke vi jam havas certan telefonnumeron, kiun vi uzas ĉiutage kaj sur kiu vi ricevas gravajn vokojn. En ĉi tiu kazo, ni bezonos duan numeron, kiu estos indikita ĉie - en poŝto, sur vizitkarto, kiam vi plenigos retajn formularojn, ktp. Ĉi tiu numero estos konektita al naturlingva prilabora sistemo (en nia kazo, Dialogflow) kaj plusendos vokojn al via ĉefa numero nur se vi volas. En diagrama formo ĝi aspektas jene (bildo estas klakebla):
Farante vian propran Google Call Screening bazita sur Voximplant kaj Dialogflow
Komprenante la arkitekturon, ni povas akcepti la efektivigon, sed kun unu averto: ni ne faros movebla aplikaĵo por montri dialogon inter Dialogflow kaj alvenanta alvokanto, ni kreos simplan retejo-apliko kun dialoga bildilo por klare montri kiel funkcias Voka Kribro. Ĉi tiu aplikaĵo havos butonon Interveni, per premado de kiu Voximplant konektos la envenantan abonanton kun la diskita abonanto, se ĉi tiu decidis mem paroli.

Реализация

Ensaluti via Voximplant-konto kaj kreu novan aplikaĵon, ekzemple ekzamenadon:

Farante vian propran Google Call Screening bazita sur Voximplant kaj Dialogflow
Malfermu sekcio "Ĉambroj" kaj aĉetu nombron, kiu funkcios kiel peranto:

Farante vian propran Google Call Screening bazita sur Voximplant kaj Dialogflow
Poste, iru al la ekzamena aplikaĵo, en la sekcio "Nombroj", langeto "Havebla". Ĉi tie vi vidos la numeron, kiun vi ĵus aĉetis. Ligu ĝin al la aplikaĵo per la butono "Alligi" - en la fenestro, kiu aperas, lasu ĉiujn defaŭltajn valorojn kaj alklaku "Alligi".

Unufoje en la aplikaĵo, iru al la langeto "Skriptoj" kaj kreu skripton myscreening - en ĝi ni uzas la kodon de la artikolo Kiel uzi Dialogflow-Konektilon. En ĉi tiu kazo, la kodo estos iomete modifita, ĉar ni devas "vidi" la dialogon inter la alvokanto kaj la asistanto; ĉiu kodo eblas prenu ĉi tien.

ATENTU: vi devos ŝanĝi la valoron de la servila variablo al la nomo de via ngrok-servilo (detaloj pri ngrok estos sube). Ankaŭ anstataŭigu viajn valorojn sur la linio 31, kie via telefonnumero estas via ĉefa numero (ekzemple via persona poŝtelefono), kaj voximplant-numero estas la nombro, kiun vi ĵus aĉetis.

outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)

La vokoPSTN-voko okazos en la momento, kiam vi decidas eniri la konversacion kaj persone paroli kun la envenanta abonanto.

Post kiam vi konservas la skripton, vi devas ligi ĝin al la aĉetita numero. Por fari tion, ankoraŭ en via aplikaĵo, iru al la langeto "Routing" por krei novan regulon - la butonon "Nova Regulo" en la supra dekstra angulo. Provizu nomon (ekzemple, ĉiuj vokoj), lasu la defaŭltan maskon (.* - kio signifas, ke ĉiuj envenantaj vokoj estos procesitaj per la skriptoj elektitaj por ĉi tiu regulo) kaj specifu la myscreening-skripton.

Farante vian propran Google Call Screening bazita sur Voximplant kaj Dialogflow
Konservu la regulon.

De nun, la telefonnumero estas ligita al la skripto. La lasta afero, kiun vi devas fari, estas ligi la bot al la aplikaĵo. Por fari tion, iru al la langeto "Dialogflow Connector", alklaku la butonon "Aldoni Dialogflow Agent" en la supra dekstra angulo kaj alŝutu la JSON-dosieron de via Dialogflow-agento.

Farante vian propran Google Call Screening bazita sur Voximplant kaj Dialogflow
Se vi bezonas agenton ekzemple/testadon, vi povas preni nian ĉe ĉi tiu ligo: github.com/aylarov/callscreening/tree/master/dialogflow. Nur ne postulu multon de ĝi, ĉi tio estas nur ekzemplo, kiun vi rajtas refari laŭplaĉe kaj bonvolu dividi la rezultojn :)

Simpla backend sur NodeJS

Ni disfaldu simplan backend sur nodo, ekzemple, jene:
github.com/aylarov/callscreening/tree/master/nodejs

Ĉi tio estas simpla aplikaĵo, kiu postulas nur du komandojn por ruliĝi:

npm install
node index.js

La servilo funkcios sur la haveno 3000 de via maŝino, do por konekti ĝin al la Voximplant-nubo, ni uzas la ilon ngrok. Kiam vi instalas ngrok, rulu ĝin per la komando:

ngrok http 3000

Vi vidos la domajnan nomon, kiun ngrok generis por via loka servilo - kopiu ĝin kaj algluu ĝin en la servilan variablon.

Kliento

La klienta aplikaĵo aspektas kiel simpla babilejo, kiun vi povas prenu ĝin de ĉi tie.

Nur kopiu ĉiujn dosierojn al iu dosierujo sur via retservilo kaj ĝi funkcios. En la dosiero script.js, anstataŭigu la servilan variablon per la domajna nomo ngrok kaj la vokita variablo kun la nombro, kiun vi aĉetis. Konservu la dosieron kaj lanĉu la aplikaĵon en via retumilo. Se ĉio estas en ordo, vi vidos la konekton WebSocket en la programista panelo.

Demo

Vi povas vidi la aplikaĵon en ago en ĉi tiu video:


PS Se vi alklakas la butonon Interveni, la alvokanto estos direktita al mia telefonnumero, kaj se vi klakas sur Malkonekti, ĝi estos...? Ĝuste, la alvoko estos malkonektita.

fonto: www.habr.com

Aldoni komenton