Sådan oprettes en app til Google Assistant ved hjælp af Dialogflow Enterprise Edition og handlinger på Google

Brugere engagerer Google Assistant i samtale for at få tingene gjort, som at købe dagligvarer eller booke en tur eller i vores tilfælde for at nå ud til at løse et problem (for en komplet liste over hvad der er muligt nu, se mappen Handlinger.) Som udvikler, du kan bruge Handlinger på Google til let at oprette og administrere dejlige og effektive samtaleoplevelser mellem brugere og din egen tredjepartsopfyldelsestjeneste. Vi lærer, hvordan man opretter en app til Google Assistant ved hjælp af Dialogflow Enterprise Edition og handlinger på Google. Byg rig effektive samtaleoplevelser mellem brugere og din egen opfyldelsestjeneste. Føj livslignende samtaler ved hjælp af SSML og gem brugerdata i Google Cloud Datastore. Lær, hvordan du offentliggør dine handlinger til Google Assistant.

Denne tutorial er en del 2-fortsættelse af vores tidligere tutorial om Sådan opretter du en chatbot ved hjælp af Dialogflow Enterprise Edition og Dialogflow API V2.

Sådan oprettes en app til Google Assistant ved hjælp af Dialogflow Enterprise Edition og handlinger på Google:

Ved afslutningen af ​​denne tutorial vil du have en bedre forståelse af følgende:

  • Handlinger på Google
  • Dialogflow Enterprise Edition
  • Google-assistent
  • Lav handlinger for Google Assistant
  • Handlinger på Google Console

Som nævnt tidligere er denne tutorial en fortsættelse af del 2 fra den foregående tutorial. Følg trinnene fra 1 til 8 fra den forrige tutorial og kom tilbage hit for at fortsætte med denne tutorial. Det meste af projektoprettelse, opsætning, oprettelse af dialogruteagenter og lagring af oplysningerne i Google Cloud Datastore er allerede omfattet af del 1.

Trin 1: Følg denne tutorial fra trin 1 til 8 og fortsæt til næste trin.

Trin 2: Dialogflowintegrationer

  • Gå til Dialogflow Console, vælg din agent og klik på Integrations.
  • Klik på Google Assistant
  • Dette åbner et pop op-vindue som vist nedenfor. Klik på TEST-knappen.
  • Klik på TEST-knappen starter handlingerne på Google Simulator som vist nedenfor.

Trin 3: Handlingssimulator

Handlingssimulatoren i Handlingskonsollen giver dig mulighed for at teste dine apps gennem en letanvendelig webgrænseflade, der lader dig simulere hardwareenheder og deres indstillinger. Du kan også få adgang til debugoplysninger såsom den anmodning og svar, som din opfyldelse modtager og sender.

  • Simulatoren er den bedste måde at teste din app / handlinger på Google Assistent, hvis du ikke har de understøttede hardwareenheder.
  • Lad os først og fremmest teste den app, vi har bygget indtil videre. Nedenstående eksempel viser dig oplevelsen af ​​vores testapp i Google Assistant.

Trin 4: Sådan forbedres samtaleoplevelsen

Den app / handling, vi hidtil har bygget, gør nøjagtigt som vi havde til hensigt, men vi bemærker også, at den samlede oplevelse kan være meget bedre. Vi bemærkede, at vores app, når det stave billetnummeret, stave det i kardinalformat. Vi vil dog gerne have, at billetnummeret staves med cifre eller individuelle tegn. Da denne tutorial handler om, hvordan man opretter en app til Google Assistant ved hjælp af Dialogflow Enterprise Edition og handlinger på Google, er vi nødt til at sikre, at vores app er mere engagerende og naturlig, når den bruges i samtaledialog.

Trin 5: Føj SSML (talesyntesemarkup-sprog) til dit svar

Når du returnerer et svar til Google Assistant, kan du bruge en undergruppe af talesyntese-markup Language (SSML) i dine svar. Ved at bruge SSML kan du få din agents svar til at virke mere livslignende.

For at tilføje SSML i vores svar, er vi nødt til at ændre vores skyfunktioner.

  • Gå til Dialogflow Console.
  • Klik på Opfyldelse.
  • Brug Inline Editor til at ændre vores skyfunktioner index.js til at omfatte SSML.
'brug streng';
const http = kræve ('http');
// Importerer Google Cloud-klientbiblioteket
const Datastore = kræve ('@ google-cloud / datastore');
// Dit Google Cloud Platform-projekt-id
const projectId = 'REPLACE_WITH_YOUR_PROJECT_ID';
// Instantierer en klient
const datastore = Datastore ({
  projectId: projectId
});
// Typen for den nye enhed
const kind = 'billet';
// Typen for den nye enhed
const kind = 'billet';
eksport.dialogflowFirebaseFulfillment = (req, res) => {
  console.log ('Dialogflow Request body:' + JSON.stringify (req.body));
  // Hent byen og datoen fra anmodningen
  lad billetbeskrivelse = req.body.queryResult ['queryText']; // forekomst er en krævet parametre
  // let name = req.body.result.contexts [0] .parameters ['given-name.original'];
  lad brugernavn = req.body.queryResult.outputContexts [1] .parametre ['given-name.original'];
  let phone_number = req.body.queryResult.outputContexts [1] .parameters ['phone-number.original'];
  console.log ('beskrivelse er' + billetbeskrivelse);
  console.log ('navn er' + brugernavn);
  console.log ('telefonnummer er' + telefonnummer);
  funktion randomIntInc (lav, høj) {
    return Math.floor (Math.random () * (høj - lav + 1) + lav);
  }
  lad billetnummer = randomIntInc (11111,99999);
  // Cloud Datastore-nøglen til den nye enhed
  const taskKey = datastore.key (kind);
  // Forbereder den nye enhed
  const opgave = {
    nøgle: taskKey,
    data: {
      beskrivelse: billetbeskrivelse,
      brugernavn: brugernavn,
      phoneNumber: phone_number,
      ticketNumber: ticketnum
    }
  };
  console.log ("forekomst er", opgave);
  // Gemmer enheden
  datastore.save (opgave)
  .then (() => {
    console.log (`Gemt $ {task.key}: $ {task.data.description}`);
    res.setHeader ('Content-Type', 'application / json');
    // SSML-respons, der skal sendes til Dialogflow
    res.send (JSON.stringify ({'uppfyllelseTekst': ' Jeg har logget din billet, billetnummeret er ' + ticketnum + '. En person fra helpdesk vil kontakte dig inden for 24 timer.  '}));
    //res.send (JSON.stringify ({'uppfyllelseTekst': "Jeg har logget din billet, billetnummeret er" + ticketnum + ". En person fra helpdesk når ud til dig inden for 24 timer.", 'opfyldelseMeddelelser ': "Jeg har logget din billet, billetnummeret er" + ticketnum + ". Enhver fra helpdesk vil kontakte dig inden for 24 timer."}));
  })
  .fangst ((err) => {
    console.error ('ERROR:', err);
    res.setHeader ('Content-Type', 'application / json');
    res.send (JSON.stringify ({'speech': "Der opstod en fejl under gemningen, prøv igen senere", 'displayText': "Fejlen opstod under gemningen, prøv igen senere"}));
  });
}
  • Den vigtigste ændring er i linje 50. Vi har tilføjet SSML-markering til vores svar.
  • Bemærk: Sørg for at udskifte projekt-ID med dit eget projekt-id, som du har oprettet tidligere efter den forrige tutorial.
 Jeg har logget din billet med succes, billetnummeret er  '+ ticketnum +' . En person fra helpdesk vil kontakte dig inden for 24 timer. 

rodelementet i SSML-svaret. Giver dig mulighed for at angive oplysninger om den type tekstkonstruktion, der er indeholdt i elementet. Det hjælper også med at specificere detaljeniveauet til gengivelse af den indeholdte tekst.

Lær mere om SSML-markeringssvar her.

  • Distribuer skyfunktionerne.
  • Klik på Integrationer og Google Assistant og TEST.
  • Test appen i simulatoren, og kontroller svaret. Du vil høre, at billetnummeret nu er stavet som individuelle tegn og ikke i kardinalformatet, hvilket er nøjagtigt, hvordan vi ønskede det.

Trin 6: Afslut samtalen

Fra den forrige demo ville du have bemærket, at vores app skal annulleres for at afslutte samtalen. Vi kan dog automatisk afslutte samtalen, når vi har samlet alle oplysningerne. Så når appen svarer tilbage med billetnummeret, kan vi afslutte samtalen.

  • Klik på Intents.
  • Udvid afsend billetintentionen og klik på Send billet - indsamle beskrivelsesintention.
  • Under svar skal du aktivere at skifte indstille denne intention som slutningen af ​​samtalen.

Trin 7: Test din app vha. Google Home

Du kan også teste din app vha. Din Google Hjem / mini / telefon eller en hvilken som helst enhed, der kører Google Assistant. Sørg for, at du har aktiveret dit testudkast i Handlinger på Google-konsollen. Din app skal køre på enhver enhed, der kører Google Assistant, der er knyttet til din konto (Google-konto, der bruges til at oprette dette projekt)

Du kan teste din app på Google Startside ved at sige "OK Google, tal med min testapp".

Du kan også kontrollere, at alle data vises i Google Cloud Datastore med brugerinfo og billetoplysninger.

Trin 8: Tilføj kald på navn og vælg Google Assistant Voice

For at brugere skal interagere med din handling / app, er vi nødt til at tilføje et påkaldelsesnavn, som de kan bruge til at påkalde vores handling.
Brugere siger verbalt navnet Invocation for at påkalde din handling. For eksempel, hvis Invocation-navnet er Mr. Pixel, kan brugerne sige: OK Google, tale med Mr. Pixel.

  • Tilføj opkaldsnavn.
  • Tilføj katalogtitel.
  • Vælg den rigtige Google Assistant-stemme afhængigt af din persona eller dit brand.

Trin 9: Branding, tematilpasning, invitation og opdagelsesliste

Tematilpasning giver dig mulighed for at tilpasse udseendet og følelsen af ​​dine handlinger for at fremhæve din brandidentitet for brugerne. Når du har tilpasset temaet, skal du gemme dine ændringer og teste dem ud i Simulatoren.

Sørg for at tjekke listen over påkaldelser og opdagelser for at se, om du har dækket hele tjeklisten.

Trin 10: Sådan oprettes en app til Google Assistant ved hjælp af Dialogflow Enterprise Edition og handlinger på Google - Distribuere og frigive:

Før du implementerer og offentliggør din applikation / handling. Sørg for at gennemgå udgivelseslisten.

Endelig skal du udfylde alle de krævede oplysninger under afsnittet Distribution.

  • Katalogoplysninger: Alle de krævede detaljer for at vise dine handlinger i handlingsoversigten.
  • Placeringsmålretning: Angiv de lande, hvor dine handlinger udløses. Dine handlinger fungerer for folk i alle lande, der taler et sprog, som dine handlinger understøtter.
  • Overfladefunktioner: Overflader, som dine handlinger udløser og specificerer de nødvendige enhedsfunktioner til dine handlinger.
  • Frigivelse: Indsend din handling til produktion. Med produktionsfrigivelse kan du officielt starte dine handlinger til alle Google Assistant-brugere.

Konklusion - Sådan bygger du en app til Google Assistant ved hjælp af Dialogflow Enterprise Edition og handlinger på Google:

Så for at konkludere, har vi med succes bygget en handling for Google Assistant. Formålet med denne tutorial var at vise dig Sådan oprettes en app til Google Assistant ved hjælp af Dialogflow Enterprise Edition og handlinger på Google. Der er stadig mange ting, du kan tilføje for at gøre den samlede samtaleoplevelse meget bedre. Du kan også træne din agent med en masse træningsdata ved hjælp af Dialogflow. Jeg vil dække meget mere om Handlinger på Google og Google Assistant i de kommende tutorials. Fortæl mig, hvad du gerne vil have mig til at dække i de kommende tutorials i kommentarerne nedenfor.

Du kan også tjekke andre tutorials som
- Byg din egen Google Voice Assistant uden kode
- Sådan opretter du en chatbot ved hjælp af Dialogflow Enterprise Edition og Dialogflow API V2
- Sentimentanalyse ved hjælp af Google Cloud Natural Language API
- Enhedsanalyse ved hjælp af Google Cloud Natural Language API

Tjek også TechWithSach.com for mere interessante tutorials om maskinlæring, AI, Flutter, enhed og mere.