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ŭ
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):
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
Malfermu
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
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.
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.
Se vi bezonas agenton ekzemple/testadon, vi povas preni nian ĉe ĉi tiu ligo:
Simpla backend sur NodeJS
Ni disfaldu simplan backend sur nodo, ekzemple, jene:
Ĉ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 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
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