Kuidas luua vestlusboot kasutades Dialogflow Enterprise Edition ja Dialogflow API V2?

Selles õpetuses õpime, kuidas luua vestlusobotit Dialogflow Enterprise Editioni ja Dialogflow API V2 abil. See õpetus on täienduseks õppematerjalide loendile, mis hõlmab Google Cloudit ja selle vinge toodete ja teenuste komplekti.

Looge vestlusboot, kasutades Dialogflow Enterprise Editioni ja Dialogflow API V2

Selle õpetuse lõpuks on teil järgmistest võimalustest paremini aru saada.

  1. Dialogflow sissejuhatus
  2. Dialogflow Enterprise Editioni sissejuhatus
  3. Kuidas luua dialoogiboksis agent
  4. Mõte kavatsustest ja üksustest
  5. Ehitage klienditeenindaja
  6. Täitmised ja pilvefunktsioonid ning Dialogflow V2 API
  7. Kuidas luua klienditeenindaja Chatbot?
  8. Salvestage piletiteave Cloud Datastore'is
  9. Järeldus
  10. Viited

Kuna meil on selles õpetuses palju käsitleda, alustame sellega.

1. Dialogflow tutvustus:

Dialogflow on otsest-lõpp-arenduskomplekt veebisaidide, mobiilirakenduste, populaarsete sõnumsideplatvormide ja IoT-ide vestlusliideste loomiseks. Seda saab kasutada vestluspunktide, häälteassistentide jms ehitamiseks, eriti asjakohasteks, mis võimaldavad teie kasutajatega loomulikku ja rikkalikku suhtlust.
Dialogflow käivitab ka masinõppimine, mis aitab tuvastada kasutaja öeldut ja konteksti, võimaldades vestlusliidesel pakkuda ülimalt tõhusaid ja täpseid vastuseid. Nii et selle õpetuse hetkel pakub Google Dialogflow kahte versiooni.

  • Dialogflow Standard Edition: kõigile tasuta
  • Dialogflow Enterprise Edition: esmaklassiline teenuse pakkumine ja ka tasuline teenus.

2. Dialogflow Enterprise Editioni sissejuhatus:

Dialogflow Enterprise Edition on saadaval Google'i pilvplatvormi (GCP) osana. See pakub piiramatut teksti- ja hääleseadetega suhtlemist, suurema mahukoguse kvoote ja Google Cloud toe tuge. Dialogflow Enterprise Edition on esmaklassiline pakkumine, mis on saadaval tasulise teenusena.
Dialogflow Enterprise Edition sobib ideaalselt ettevõtetele, kes vajavad ettevõttesõbralikku teenust, mida saab hõlpsasti skaleerida, et toetada kasutajate nõudluse muutusi.

3. Kuidas agenti luua Dialogflow Enterprise Editionis:

Dialogflow standardväljaandes saate oma agentuuri loomiseks minna aadressile dialogflow.com. Dialogflow Enterprise Editioni jaoks loome projekti esmalt Google'i pilveplatvormis ja kasutame Dialogflow API-d. Järgige allolevaid samme jaotises Kuidas luua vestlusboot Dialogflow Enterprise Editioni ja Dialogflow API V2 abil.

3.1 Projekti seadistamine ja autentimine:

Kõigepealt peame looma Google'i pilvplatvormi projekti, kasutades aadressi https://console.cloud.google.com/

  • Looge või valige olemasolev GCP-projekt.
  • Luba selle projekti jaoks Dialogflow V2 API.
  • Klõpsake Luba APIS JA TEENUSED
  • Otsige otsinguribalt Dialogflow API ja klõpsake sellel.
  • Minge edasi ja klõpsake Luba API.
  • 3.2 Looge dialoogivoo agent.
  • Pärast API lubamist klõpsake vahekaardil Dialogflow agent ja valige oma projekti agent.
  • Agent nimi
  • Keel
  • Ajavöönd
  • Dialgflow Enterprise Edition Agent loomiseks klõpsake nuppu Loo.
  • Seetõttu ehitaksime kogu ülejäänud õpetuse jaoks GCP-s loodud agenti dialoogi.com abil üles. Klõpsake dialoogi.com aadressil Ava agent
  • Seetõttu peaks see lingil klõpsamisel paluma teil valida ka oma Google'i konto. Valige sama google'i konto, millega projekti lõite.
  • Nüüd peaks see teile näitama ka lehte, kus dialoogivoog võimaldab andmeid vaadata ja hallata. Lõpuks klõpsake nuppu Luba.
  • Lisaks vaadake üle konto seaded ja klõpsake nuppu ACCEPT.
  • Lõpuks näete nüüd Dialgflow armatuurlauda ja selle õpetuse ajal näete ka teadet, et “Dialogflow API V2 on ametlikult käivitatud. See on nüüd kõigi uute Dialogflow agentide vaikeseade API ja kõik uued funktsioonid vabastatakse ainult versioonis V2. Siit saate teada, kuidas oma V1-agente migreerida. ”

3.3 Looge teenuse konto.

  • Enne dialoogivooluga jätkamist veenduge, et meil oleks veel mõned üksused seadistatud.
  • Valige Google Cloud teenuse kontode lehelt oma projekt.
  • Te peaksite nägema allolevaga sarnast ekraani.
  • Laadige privaatvõti alla JSON-na.
  • Minge GCP-konsoolil API-le ja teenustele ning klõpsake mandaati.
  • Klõpsake käsul Loo mandaat ja valige Teenuse konto võti.
  • Valige rippmenüüst oma teenuse konto, valige JSON ja klõpsake nuppu Loo. See laadib JSON-võtme teie arvutisse. Salvestage see turvaliselt.
  • Seadke keskkonnamuutuja GOOGLE_APPLICATION_CREDENTIALS teie teenusekonto võtit sisaldava JSON-faili failiteele. Avage terminali või käsuviiba aken ja täitke järgmine käsk vastavalt oma operatsioonisüsteemile.

Näide: Linux või macOS

Asendage [PATH] teenusekonto võtit sisaldava JSON-faili marsruudiga.

eksporti GOOGLE_APPLICATION_CREDENTIALS = "[PATH]"

Näiteks:

eksportige GOOGLE_APPLICATION_CREDENTIALS = "/ kodu / kasutaja / allalaaditavad failid / service-account-file.json"

Näide: Windows

Asendage [PATH] teenusekonto võtit sisaldava JSON-faili failiteega ja [FILE_NAME] failinimega.

Käsureal:

seatud GOOGLE_APPLICATION_CREDENTIALS = [PATH]

3.4 Installige ja lähtestage Cloud SDK.

  • Järgige juhiseid, nagu näidatud dokumendis.
  • Lõpuks peaksite pärast neid samme hankima teenusekonto võtmefaili (JSON-is), mis võimaldab teil autentimist selle kiirstartis oleva Dialogflow V2 API-ga:
  • gcloud auth aktiveeri - teenus – konto - võti – fail = teenus – konto – võti – fail
  • Kui olete ülaltoodud toimingud edukalt täitnud, oleksite teenusekonto mandaadi aktiveerinud.

4. Dialoogiprotsessi sisu ja olemite mõistmine:

Sisu: kavatsus tähistab kaardistamist kasutaja öeldu ja selle vahel, mida teie tarkvara peaks tegema.

Tahtlikel liidestel on ka järgmised jaotised:

  • Treeninglaused
  • Tegevus
  • Vastus
  • Kontekstid

Üksused: üksused on võimsad tööriistad, mida kasutatakse parameetrite väärtuste eraldamiseks looduslikest keele sisenditest. Kõigil olulistel andmetel, mida soovite kasutaja taotlusel saada, on vastav üksus.

Samuti saate parema ülevaate kavatsustest ja üksustest, kui liigume edasi juhendaja järgmisse ossa.

5. Ehitage klienditeenindaja üles:

Kuna me ehitame klienditeenindaja vestlusbooti, ​​peame ka esmalt klienti tervitama või tervitama. Saame selle saavutada tervituskavatsuse kaudu.

5.1 Kasutaja tervitamine

  • Klõpsake tervituse kavatsust.
  • Lisage treeningfraaside alla mõned fraasid, mida teie kasutajad kasutaksid vestluse alustamiseks.
  • Järgmine samm oleks lisada vestlusprogrammi sobiv vastus, et tervitada kasutajat ja paluda tal esitada konkreetne küsimus.
  • Lõpuks klõpsake nuppu Salvesta kavatsus. Peaksite nägema ka hüpikteadet, milles öeldakse, et agendi koolitus on lõpule viidud.

5.2 Koostage piletite kavatsus

  • Klõpsake valikul LOE kavatsus. See loob uue kavatsuse, kus peate oma kavatsuse nime määrama. Kutsugem seda siis, kui esitame pileti.
  • Pärast seda klõpsake koolitusfraasid, et lisada fraasid kasutaja öeldu kohta.
  • Kui olete mõne treeningfraasi edukalt lisanud, saate lisada vastuse, et saada kasutajalt rohkem teavet.
  • Klõpsake nuppu Lisa vastus ja sisestage vastus millelegi sellisele. Muidugi! Ma saan teid selles aidata. Palun sisestage pileti jaoks oma nimi.
  • Esita pileti kavatsuse salvestamiseks klõpsake nuppu Salvesta.

5.3 Nimi kogumiseks looge järelmeetmete kavatsus

  • Selleks, et saaksime luua järelkava. Järgige allpool toodud samme.
  • Klõpsake vasakpoolsel navigeerimispaneelil suvandil Intents.
  • Hõljutage kursorit Esita pilet kavatsuse kohal. Näete parempoolse külje jaoks võimalust lisada järelmeetmete kavatsus.
  • See peaks andma teile ripploendi. Valige loendist Kohandatud.
  • Nüüd peaksite nägema loodud järelkavast. Klõpsake valikul Edasta pilet - kohandatud.
  • Muudame nime millekski, mis on mõttekas. Muutke kavatsuse nimi väärtuseks Saada pilet - koguge nimi.
  • Lisage mõned treeninglaused.
  • “Ma olen John”
  • “Minu nimi on Sachin”
  • “Olen Lucy”
  • Samuti näete, et see tõstab nimed automaatselt esile kui Entities @ sys.given-name.
  • Lisaks peaksite toimingute ja parameetrite all nüüd nägema järgmist, nagu allpool näidatud.
  • Lõpuks lisage vastus, et saada kasutajalt rohkem teavet. $ give-name hoiab kliendi nime.
  • “Aitäh, et olete andnud nime! Mis su telefoninumber on?"
  • Salvestage kavatsus agendi koolitamiseks.

5.4 Telefoninumbri kogumiseks looge järelmeetmete kavatsus.

  • Kõigepealt nihutage hiirekursor valikule Esita pilet - koguge nime kavatsus. Näete parempoolse külje jaoks võimalust lisada järelmeetmete kavatsus.
  • See peaks andma teile ripploendi. Valige loendist Kohandatud.
  • Nüüd peaksite nägema loodud järelkavast. Klõpsake nuppu Esita pilet - koguge nimi - kohandatud.
  • Muudame nime millekski, mis on mõttekas. Muutke kavatsuse nimi väärtuseks Saada pilet - koguge telefon.
  • Lisage mõned treeninglaused. Need on lihtsalt proovid.
  • minu telefoninumber on + 1231232432
  • mobiilinumber on +1 234234234
  • +1234324234
  • Muutke olemi @ sys.number väärtuseks @ sys.phone-number.
  • Lõpuks lisage vastus, et saada kasutajalt veel üks teave. Telefoninumbril $ hoitakse kliendi nime.
  • “Tänan! Palun kirjeldage nüüd oma probleemi ”.
  • Salvestage kavatsus agendi koolitamiseks.

5.5 Looge järelmeetmete kavatsus kliendi probleemi kirjelduse kogumiseks.

  • Nagu eelmised sammud, looge järelkavand nimega Edasta pilet - kogu kirjeldus.
  • Lisage mõned treeninglaused. Need on vaid näidisandmed tutvustamise eesmärgil.
  • minu telefon jätkab taaskäivitust
  • teema wifi
  • Bluetoothi ​​probleemid
  • Ekraan ei reageeri.
  • külmutatud ekraan
  • Jäta vastused tühjaks. Tühjaks jätmise põhjuseks on see, et soovime, et pärast kogu teabe kasutajalt hõivamist ja piletinumbri genereerimist saadaks vastused meie serverist, et anda see kasutajale tagasi viitamiseks.
  • Lisaks sellele, et saaksime selle linkida serveriga või sel juhul pilvefunktsioonidega, peame lubama täitmised.
  • Klõpsake valikul Fulfilments ja lubage selle eesmärgi saavutamiseks webhook-kõne.
  • Klõpsake nupul Salvesta, et salvestada pilet - koguge kirjeldus.

6. Täitmised ja pilvefunktsioonid:

Fulfilments koosneb Webhookist ja ka Firebase'i pilvefunktsioonidest. Kuna me proovime teada saada, kuidas luua vestlusbooti kasutades Dialogflow Enterprise Editioni ja Dialogflow API V2, siis peame lisaks õppima rohkem ka Webhooki või Firebase'i pilvefunktsioonide kohta.

Webhook: Webhooki seadistamine võimaldab edastada teavet sobitatud kavatsustest veebiteenusesse ja saada sellest tulemuse.

Pilvefunktsioonid Firebase'i poolt: Webhooki lihtsaks testimiseks ja juurutamiseks võite kasutada lehe Täitmised ala Pilvefunktsioonid Firebase'i jaoks. Enamikul juhtudel on kõik, mida vajate, tasuta Firebase'i "Spark" -tasand. Muude määramistasandite astme piirangud ja hinnakujunduse teabe leiate Firebase'i hinnakujunduse lehelt.

Võimaldada:

  • Klõpsake vasakpoolses menüüs valikul Täitmine.
  • Samuti lubage lülitus tekstiredaktoris.
  • Siseredaktor: saate kasutada oma koodi või kopeerida kleepige see altpoolt sidusredaktorisse.
'kasuta rangelt';
const http = nõuda ('http');
// Impordib Google Cloud kliendikogumi
const Datastore = nõuda ('@ google-cloud / datastore');
// Teie Google'i pilveplatvormi projekti ID
const projectId = 'REPLACE_WITH_YOUR_PROJECT_ID';
// Kutsutab klienti
const datastore = andmebaas ({
  projektiId: projektiId
});
// Uue olemi tüüp
const kind = 'pilet';
// Uue olemi tüüp
const kind = 'pilet';
export.dialogflowFirebaseFulfillment = (req, res) => {
  console.log ('Dialogflow päringu sisu:' + JSON.stringify (req.body));
  // Hankige linn ja kuupäev päringust
  lase ticketDescription = req.body.queryResult ['queryText']; // esinemissagedus on nõutav parameeter
  // lase nimi = req.body.result.contexts [0] .parameters ['antud-nimi.original'];
  lase kasutajanimi = req.body.queryResult.outputContexts [1] .parameters ['antud-nimi.original'];
  las telefoninumber = req.body.queryResult.outputContexts [1] .parameters ['telefoninumber.original'];
  console.log ('kirjeldus on' + ticketDescription);
  console.log ('nimi on' + kasutajanimi);
  console.log ('telefoninumber on' + telefoninumber);
  funktsioon randomIntInc (madal, kõrge) {
    tagasi Math.põrand (Math.random () * (kõrge - madal + 1) + madal);
  }
  olgu piletinumber = randomIntInc (11111,99999);
  // Uue olemi Cloud Datastore-võti
  const taskKey = andmehoidla klahv (lahke);
  // Valmistab ette uue olemi
  const ülesanne = {
    võti: taskKey,
    andmed: {
      kirjeldus: ticketDescription,
      kasutajanimi: kasutajanimi,
      telefoninumber: telefoninumber,
      ticketNumber: piletinumber
    }
  };
  console.log ("esinemissagedus on", ülesanne);
  // Salvestab üksuse
  andmepood.sääst (ülesanne)
  . seejärel (() => {
    console.log (`Salvestatud $ {task.key}: $ {task.data.description}`);
    res.setHeader ('Sisu tüüp', 'rakendus / json');
    // Vastus, mida saata Dialogflow
    res.send (JSON.stringify ({'fillmentText': "Olen teie pileti edukalt loginud, pileti number on" + ticketnum + ". Keegi kasutajatoe kasutaja saab teiega ühendust 24 tunni jooksul."}));
    //res.send (JSON.stringify ({'izpildesText': "Olen teie pileti edukalt registreerinud. Pileti number on" + ticketnum + ". Keegi kasutajatoe kasutaja saab teiega ühendust 24 tunni jooksul.", "täitmineMesiges ': "Olen teie pileti edukalt registreerinud, pileti number on" + ticketnum + ". Keegi kasutajatoe kasutaja saab teiega ühendust 24 tunni jooksul."}));
  })
  .catch ((eksinud) => {
    console.error ('VIGA:', ​​viga);
    res.setHeader ('Sisu tüüp', 'rakendus / json');
    res.send (JSON.stringify ({'kõne': "Salvestamisel ilmnes viga, proovige hiljem uuesti", 'displayText': "Salvestamisel ilmnes viga, proovige hiljem uuesti"}));
  });
}
  • Asendage project_id oma google'i pilveplatvormi projekti ID-ga reas 6. Projekti ID peaksite leidma Google'i pilvkonsooli armatuurlaual> Projekti teave.
  • Kuna kasutame piletiteabe salvestamiseks Google Cloud Datastore'i, peame lisama vajalikud sõltuvused paketijs.json alla.
  • Kopeerige kood altpoolt ja lisage see oma sisemises redigeerijas oma pakettijs.json või lisage lihtsalt kood real 20, et lisada pilve andmepoodide sõltuvus.
{
  "name": "dialogflowFirebaseFulfillment",
  "description": "See on vaikimisi täidetud dialoogivoo agentide jaoks, kes kasutavad Firebase'i pilvefunktsioone",
  "versioon": "0.0.1",
  "privaatne": tõsi,
  "litsents": "Apache versioon 2.0",
  "autor": "Google Inc.",
  "mootorid": {
    "sõlm": "~ 6.0"
  },
  "skriptid": {
    "start": "firebase serve - ainult funktsioonid: dialogflowFirebaseFulfillment",
    "juurutamine": "tuletõrjebaasi juurutamine - ainult funktsioonid: dialogflowFirebaseFulfillment"
  },
  "sõltuvused": {
    "toimingud-google'is": "2.0.0-alfa.4",
    "firebase-admin": "^ 4.2.1",
    "firebase-function": "^ 0.5.7",
    "dialoogivoog": "^ 0.1.0",
    "@ google-cloud / datastore": "^ 1.1.0",
    "dialoogivoolu täitmine": "0.3.0-beeta.3"
  }
}
  • Meie pilvefunktsioonide juurutamiseks klõpsake nuppu DEPLOY.
  • Juurutamine võib võtta mõne sekundi.
  • Märkus. Ülaltoodud pilvefunktsioone teenindatakse uue Dialogflow API V2 või V2 API abil. Seetõttu põhinesid mõned failis index.js kommenteeritud koodid V1 API-l. Nii et see näitab selgelt, kui lihtne on Dialogflow'is versioonilt V1 API-le üle minna. Varsti teen eraldi õpetuse migreerumise kohta V1-lt V2-le.

7. Kuidas luua klienditeenindaja Chatbot?

Lõpuks on käes aeg, kus peame oma esindajat proovile panema ja oma vestlusboti rakendama. Dialogflow võimaldab meil hõlpsalt integreerida oma agenti mitmesse platvormi nagu Google Assistent, Facebook Messenger, Slack, web jms.

Selle juhendaja jaoks näeme, kuidas saame luua oma agendi ja manustada selle oma veebisaidile.

  • Klõpsake vasakpoolsest navigeerimismenüüst Integrations.
  • Luba veebidemo
  • Ilmub genereeritud lingi abil hüpikaken.
  • Kõigepealt klõpsake lingil, et näha, kuidas teie vestlusbott töötab.
  • Selle tulemusel saate kasutada manustuskoodi ka oma veebisaidile vestlusboti lisamiseks.

8. Salvestage piletiteave Google Cloud Datastore'is:

Lõpuks on meie chatbot valmis ja töötab. Kõige tähelepanuväärsem on see, kui läbite pilvefunktsioonid, jäädvustame kliendi kohta järgmised üksikasjad.

  • Klõpsake klienditeavet
  • kasutajanimi
  • telefoninumber
  • kirjeldus

8.1 Salvestage üksikasjad Google Cloud Datastore:

Samuti näeme üksikasju, mille jäädvustasime oma vestlusboti kaudu meie Google Cloud Datastore'is.

  • Minge Google'i pilvkonsooli.
  • Suvandite kuvamiseks klõpsake navigeerimismenüül.
  • Valige Datastore -> Entities.
  • Seetõttu vaadake Chatboti hõivatud andmeid kogu konkreetse teabega.
Google Cloud Datastore koos piletiteabega

9. Järeldus:

Kokkuvõtteks võib öelda, et see on olnud pikk õpetus, mis hõlmab erinevaid aspekte, kuidas luua dialoogifot Dialogflow Enterprise Editioni ja Dialogflow API V2 abil. Lisaks õppisime ka, kuidas teavet kasutajalt jäädvustada ja Google Cloud Datastore abil salvestada. Seega on see lihtsalt pinna kriimustamine ja Dialogflow ning Google Cloud teenuste võimendamise võimalused on lõputud. Olen andnud oma parima, et katta see õpetus igal sammul, et saaksite hõlpsasti õppida selliseid rakendusi arendama. Järgmises õpetuses õpime ka, kuidas seda Google'i abistaja kujul kasutada ning kuidas migreeruda V1 API-lt V2 API-le.

Lõpuks näeme teid järgmises õpetussarjas. Kuni selle ajani tutvuge ka teiste minu juhendaja postitustega teemal Kuidas ehitada rakendus Google Assistant rakenduse abil Dialogflow Enterprise Edition ja Google'i toimingud, Sentimentide analüüs Google Cloud Natural Language API abil ja Entity Analysis Google Google'i loomuliku keele API abil ning Alustamine Flutteriga . Vaadake rohkem õpetusi saidil techwithsach.com

10. Viited:

  • Google'i pilvkonsool
  • Lisateave Dialogflow Enterprise Editioni kohta
  • Dialogflow standardväljaanne
  • Kuidas kasutada uut Dialogflow V2 API-d