Dialogflow-gestützten RBM-Agent erstellen (Basic)

In diesem Codelab erfahren Sie, wie Sie mit Dialogflow eine dialogorientierte Schnittstelle erstellen, die einen RBM-Agent unterstützt, ohne Code schreiben zu müssen.

Was möchten Sie in diesem Codelab erstellen?

  • Ein Dialogflow-Agent, der die Unterhaltung eines RBM-Agents unterstützt
  • Eine fiktive Benutzeroberfläche für eine fiktive Pizzeria, die Nutzern ein Rabattangebot sendet, damit sie sich die Speisekarte ansehen können

Inhalt dieses Artikels

  • Mit dem Hauptkonstrukt von Dialogflow einen Intent für die Erstellung einer dialogorientierten Schnittstelle erstellen
  • RBM-Antworttypen in Dialogflow erstellen, um Nutzern eine umfassende RBM-Umgebung zu bieten

Ausrüstung

  • Ihr Google-Konto für die RBM-Plattform

Ersten Agent erstellen und abfragen

Dauer: 30:00

Ersten Dialogflow-Agent erstellen

So erstellen Sie einen Dialogflow-Agent:

  1. Öffnen Sie einen neuen Tab und melden Sie sich in Dialogflow an.
  2. Klicken Sie im linken Navigationsbereich auf Agent erstellen.

  3. Geben Sie für den Agent den Namen „CodelabRBMPizzaPlace“ als Standardsprache und als Standardzeitzone Ihre Zeitzone ein.

  4. Klicken Sie auf Erstellen.

Dialogflow-Konsole

Sie sollten jetzt die Dialogflow-Konsole sehen. Wenn Sie auf einem kleineren Bildschirm arbeiten und die linke Navigationsleiste ausgeblendet ist, klicken Sie oben links auf die Navigationsschaltfläche. Über die Schaltfläche „Einstellungen“ gelangen Sie zu den aktuellen Einstellungen des Agents.

In der Mitte der Seite wird eine Liste von Intents für den Agent angezeigt. Standardmäßig beginnen Dialogflow-Agents mit zwei Intents. Der Agent stimmt mit dem Standard-Fallback-Intent überein, wenn er nicht versteht, was Ihre Nutzer sagen. Mit dem Standard-Begrüßungs-Intent werden Nutzer begrüßt. Sie können diese Intents ändern, um die Websitevariante anzupassen.

Rechts sehen Sie den Dialogflow-Simulator. So können Sie den Agent ausprobieren, indem Sie Nachrichten sprechen oder eingeben.

Agent abfragen

Dialogflow-Agents werden am besten als NLU-Module (Natural Language Understanding) beschrieben. Diese können in Ihre Anwendung, Ihr Produkt oder Ihren Dienst aufgenommen werden, um Anfragen von natürlichen Nutzern in verwertbare Daten umzuwandeln.

Nun ist es an der Zeit, den Agent zu testen! Klicken Sie rechts im Simulator in das Textfeld Jetzt testen. Geben Sie "Hi" ein und drücken Sie die Eingabetaste.

Dialogflow identifiziert die Abfrage, entspricht dem Standard-Begrüßungs-Intent und antwortet mit einer allgemeinen Begrüßung. Dies funktioniert, da Dialogflow den Standard-Begrüßungs-Intent automatisch mit einigen Beispielbegrüßungen trainiert.

RBM-Agent erstellen

Melden Sie sich in der Business Communications Developer Console an und klicken Sie auf Agent erstellen.

Geben Sie im Feld „Name“ „& Pizza Pizzeria“ ein (z. B. „Pizza Pizzeria“), wählen Sie eine Region aus und klicken Sie auf Agent erstellen.

RBM-Agent mit Dialogflow verbinden

Nachdem der RBM-Agent erstellt wurde, klicken Sie auf den Agent, um seine Übersichtsseite aufzurufen. Klicken Sie im linken Navigationsbereich auf den Link Integrationen.

Standardmäßig verwenden RBM-Agents Google Cloud Pub/Sub, um Nutzernachrichten zu verarbeiten. Klicken Sie auf die Einbindung von Dialogflow, um den RBM-Agent mit dem zuvor erstellten Dialogflow-Agent zu verbinden.

Klicken Sie im Dialogfeld auf Vorhandenes Modell verbinden. Folgen Sie der Anleitung, um Ihrem RBM-Agent Berechtigungen zum Aufrufen Ihres Dialogflow-Agents zu erteilen. Nachdem Sie die Anleitung abgeschlossen haben, klicken Sie auf Weiter.

Zum Schluss müssen Sie die Dialogflow-Projekt-ID angeben. Rufen Sie in einem anderen Browsertab als der Business Communications Developer Console Dialogflow auf und öffnen Sie den zuvor erstellten CodelabRBMPizzaPlace-Agent. Klicken Sie im linken Navigationsbereich auf das Zahnradsymbol neben dem Projektnamen.

Wenn Sie darauf klicken, gelangen Sie zu den Einstellungen des Modells. Suchen und kopieren Sie unter GOOGLE PROJECT die Projekt-ID.

Kehren Sie zu Ihrem Tab mit der geöffneten Business Communications Developer Console zurück, fügen Sie die Projekt-ID in das Dialogfeld ein und klicken Sie auf Integration starten.

Dieser Vorgang dauert etwa zwei Minuten. Anschließend sollte die Dialogflow-Integrationsoption hervorgehoben sein und der Link Agent anzeigen verfügbar sein.

Alle Nachrichten an und von Ihrem Agent werden jetzt vom Dialogflow-Agent CodelabRBMPizzaPlace verarbeitet.

Testgerät einladen und Nachricht senden

Bevor Sie sich mit Dialogflow befassen, richten Sie Ihr Testgerät ein. Wenn Sie bereits ein Gerät haben, das RBM-Nachrichten empfangen kann, folgen Sie dieser Anleitung, um Ihr Gerät vorzubereiten.

Klicken Sie in der Business Communications Developer Console im linken Navigationsbereich auf Geräte. Geben Sie im Formular die vollständige Telefonnummer Ihres Geräts im E.164-Format ein (z. B. +12223334444) und klicken Sie auf Hinzufügen.

Auf Ihrem Gerät erhalten Sie die Testeinladung. Tippen Sie auf Tester werden.

Suchen Sie in Ihrem Browser in der Liste Geräte nach Ihrem Gerät und senden Sie ihm eine Testnachricht. Wenn Sie von Ihrem RBM-Agent eine Nachricht auf Ihrem Gerät erhalten haben, können Sie mit diesem Codelab fortfahren.

Begrüßungs-Intent erstellen

In der Regel starten Sie mit einem Dialogflow-fähigen RBM-Agent einen API-Aufruf, um die Telefonnummer des Nutzers und den Dialogflow-Intent, der die Unterhaltung beginnt, anzugeben (normalerweise der Begrüßungs-Intent des Agents). In diesem Codelab überspringen wir diesen Schritt und verwenden stattdessen den Unterhaltungs-Thread, den wir im vorherigen Schritt mit dem Testgerät aus der Business Communications Developer Console erstellt haben. Weitere Informationen zu dieser API-Funktion finden Sie in diesem Leitfaden.

Fügen Sie zuerst dem Standard-Begrüßungs-Intent RBM-Antworten hinzu, damit Dialogflow ihn mit Ihrem RBM-Agent verwenden kann. Rufen Sie zuerst den Browsertab auf, in dem Dialogflow geöffnet ist. Klicken Sie im linken Navigationsbereich auf den Link Intents. Klicken Sie rechts oben auf das Papierkorbsymbol, um die einfache Textantwort zu löschen. Klicken Sie dann auf Default Welcome Intent (Standard-Begrüßungs-Intent), scrollen Sie nach unten zum Abschnitt Responses (Antworten), klicken Sie in der Liste der Antworttypen auf + und wählen Sie RCS Business Messaging (RBM) aus.

Klicken Sie auf Antworten hinzufügen und wählen Sie dann Einfache Antwort aus. Geben Sie in das Textfeld für die einfache Antwort „Schnees Pizza-Angebot des Tages“ ein. Kaufe eine beliebige 12-Zoll-Pizza und erhalte eine KOSTENLOSE! Ersetzen Sie Sean durch Ihren Namen. Klicken Sie dann auf Speichern.

Unterhaltung starten

Nachdem Sie einen Begrüßungs-Intent konfiguriert haben, kehren Sie zu Ihrem Testgerät zurück und senden die Nachricht „Hi"“. Diese Nachricht löst den Standard-Begrüßungs-Intent aus. Es sollte in etwa Folgendes angezeigt werden:

Begrüßungsabsicht aktualisieren

Nachdem Sie nun von Dialogflow eine einfache Nachricht gesendet haben, können Sie die Nachricht etwas ansprechender gestalten. Wir möchten nicht nur eine Nachricht über den Deal des Tages senden, sondern auch ein Bild senden, um den empfangenden Nutzer zu verleiten und ihnen andere Aktionen zu empfehlen, die er möglicherweise ausführen möchte.

Ersetze unsere einfache Antwort-Pizza mit einer Karte, die ein Bild enthält und Optionen bietet, um die vollständige Speisekarte und die Website des Restaurants anzuzeigen.

Wählen Sie im Bereich Default Welcome Intent's Responses den Tab RCS Business Messaging (RBM) aus. Aktualisieren Sie den vorhandenen Text Simple Response (Einfache Antwort) mit „Welcome to Sean’s Pizza Place“. Sehen Sie sich das heutige Werbeangebot an. Klicke dann auf Antworten hinzufügen und wähle Eigenständige Rich Card aus.

Geben Sie im Formular für die eigenständige Rich Card Folgendes ein:

  • Card Title: Kaufe eine beliebige 12-Zoll-Pizza und du erhältst eine KOSTENLOS.
  • Kartenbeschreibung: Zeigen Sie diese Nachricht bei jedem teilnehmenden Geschäft an, um dieses Angebot einzulösen. Das Angebot endet am 17.2.
  • Kartenausrichtung auswählen: Vertikal
  • Bild-/Video-URL: https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • Medienhöhe auswählen: mittel

Klicken Sie auf Vorschlag hinzufügen und geben Sie Folgendes ein:

  • Vorschlagstext: Menü „Ansicht“
  • Postback für Vorschlag: response_view_menu

Klicken Sie auf Vorschlag hinzufügen, wählen Sie im Drop-down-Menü die Option „URL-Aktion öffnen“ aus und geben Sie Folgendes ein:

  • Vorschlagstext: Website ansehen
  • Postback für Vorschlag: response_view_website
  • Öffnende URL: https://www.google.com (oder eine beliebige gültige URL)

Klicken Sie auf Speichern.

Selbst ausprobieren

Sobald das Modell sagt, dass das Agent-Training abgeschlossen ist, gehen Sie zurück zu Ihrem Gerät und senden Sie die Nachricht an Ihren Agent. Nun sollten Sie die einfache Antwort gefolgt von der soeben entwickelten eigenständigen Rich Card sehen.

Tippen Sie auf Ansichtsmenü. Der Standard-Fallback-Intent wird ausgelöst. Das liegt daran, dass der Dialogflow-Agent nicht weiß, wie die Postback-Daten verarbeitet werden sollen, die Sie für diesen Vorschlag konfiguriert haben ("reply_view_menu").

Beheben wir das Problem.

Intent für Speisekarte erstellen

Dialogflow verwendet Intents, um die Absichten eines Nutzers zu kategorisieren. Intents haben Trainingssätze, die Beispiele dafür sind, was ein Nutzer dem Agent sagen könnte. Wenn jemand wissen möchte, was auf der Speisekarte steht, fragt er beispielsweise: "Was kann ich essen??&"Was kann ich bestellen?

Alle Abfragen sind eindeutig, aber dieselbe Absicht: Informationen zum Menü zu erhalten.

Erstellen Sie einen Intent mit der Bezeichnung „Menü“:

  1. Klicken Sie im linken Navigationsbereich auf das + neben Intents.
  2. Geben Sie unter Intent name (Intent-Name) „"Menu"“ ein.
  3. Klicken Sie unter Trainingsformulierungen auf Nutzerausdruck hinzufügen, geben Sie Folgendes ein und drücken Sie nach jedem Eintrag die Eingabetaste:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    Mit dieser letzten Trainingsformulierung werden die Postback-Daten zugeordnet, die Sie im vorherigen Abschnitt mit diesem Intent konfiguriert haben.

Als Antwort auf diesen Intent erstellen wir ein Karussell mit den verschiedenen Menüoptionen. Bei einem größeren Menü empfiehlt es sich, auf eine Website zu verlinken oder ein einzelnes Bild des Menüs freizugeben.

  1. Klicken Sie unter Antworten auf + und wählen Sie RCS Business Messaging (RBM) aus.
  2. Klicken Sie auf Antworten hinzufügen und wählen Sie Karussell-Textzeile aus.
  3. Setzen Sie die Option Kartenbreite auswählen auf Mittel.
  4. Klicken Sie unter der Breite-Option zweimal auf Karte hinzufügen. Dadurch wird die Anzahl der Karten auf insgesamt 4 erhöht.
  5. Geben Sie in Karte 1 Folgendes ein:
    • Titel der Karte: Wurst und Peperoni
    • Kartenbeschreibung: Wurst, Peperoni, Oliven und grüne Paprika
    • Bild-/Video-URL: https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. Geben Sie in Karte 3 Folgendes ein:
    • Kartentitel: Italienisch
    • Kartenbeschreibung: Tomatensoße, Käse und Würstchen
    • Bild-/Video-URL: https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. Geben Sie in Karte 2 Folgendes ein:
    • Kartentitel: Margherita
    • Kartenbeschreibung: San Marzano-Tomaten, Mozzarella, frischer Basilikum, Salz und natives Olivenöl
    • Bild-/Video-URL: https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. Geben Sie in Karte 4 Folgendes ein:
    • Kartentitel: Supreme
    • Kartenbeschreibung: Wurst, Peperoni, Hamburger, Speck, Zwiebeln, Oliven, Pilze und grüne Paprikaschoten
    • Bild-/Video-URL: https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

Nach den Kartenelementen müssen wir auch eine Möglichkeit für den Nutzer bereitstellen, die Unterhaltung fortzusetzen. Klicken Sie dazu auf Antworten hinzufügen und wählen Sie Einfache Antwort aus. Geben Sie dann den Text ein:

Klicken Sie in der einfachen Antwort auf Vorschlag hinzufügen und geben Sie Folgendes ein:

  • Vorschlagstext: Angebot anzeigen
  • Postback für Vorschlag: hi

Klicken Sie auf Speichern.

Selbst ausprobieren

Fragen Sie jetzt den Kundenservicemitarbeiter nach der Speisekarte. Geben Sie auf dem Gerät in der Unterhaltung für Ihren RBM-Agent „What’s on themenu“ ein und senden Sie die Nachricht an den Agent.

Der Agent reagiert jetzt korrekt auf die Abfrage. Auch wenn Ihre Abfrage etwas von der Trainingsformulierung abweicht (&Was ist auf der Speisekarte?) Dialogflow hat die Abfrage trotzdem dem richtigen Intent zugeordnet. Sie können auch auf der Rich-Karte auf das Menüelement Ansicht tippen.

Dialogflow verwendet Trainingsformulierungen als Beispiele für ein Modell für maschinelles Lernen, um Abfragen den richtigen Intents zuzuordnen. Das Modell für maschinelles Lernen vergleicht die Abfrage mit jedem Intent im Agent, gibt jedem Intent eine Bewertung und der Intent mit der höchsten Bewertung wird zugeordnet. Wenn der Intent mit der höchsten Bewertung einen sehr niedrigen Wert hat, wird der Fallback-Intent abgeglichen.

Intents erfassen, ohne zu reagieren

Du bist fast fertig. Es gibt aber noch eine letzte Maßnahme. Wenn du zu deinem Testgerät zurückkehrst und in der ersten Rich Card auf den Vorschlag Website ansehen tippst, wird angezeigt, dass beim Tippen auf diesen Vorschlag nicht nur die zugehörige URL geöffnet wird, sondern auch eine Nachricht angezeigt wird, die durch den Standard-Fallback-Intent ausgelöst wurde.

Das liegt daran, dass die Aktion „URL öffnen“ den Postback-Text von "reply_view_website" an Dialogflow sendet, wenn Sie auf die Aktion tippen und Dialogflow dies dem Standard-Fallback-Intent zuordnet.

Um Postback-Daten zu erfassen, ohne sofort darauf zu antworten, erstellen wir einen Intent mit Trainingswortgruppen, die mit den Postback-Daten übereinstimmen, und löschen alle Antworten für den Intent. Dialogflow ordnet die Postback-Daten dem Intent zu, reagiert jedoch nicht, da der Intent keine definierten Antworten hat.

Intent „Keine Antwort“ erstellen

Wenn Sie Aktionen abdecken möchten, die ignoriert werden sollen, erstellen Sie den Intent „Keine Antwort“:

  1. Klicken Sie im linken Navigationsbereich auf das + neben Intents.
  2. Geben Sie unter Intent name (Absichtsname) "No response" ein.
  3. Klicken Sie unter Trainingsformulierungen auf Nutzerausdruck hinzufügen, geben Sie Folgendes ein und drücken Sie nach jedem Eintrag die Eingabetaste:
    • reply_view_website
  4. Scrollen Sie nach unten zu Antworten und entfernen Sie alle Antworten mit dem Papierkorbsymbol.

Klicken Sie auf Speichern.

Selbst ausprobieren

Geben Sie auf Ihrem Gerät in der Unterhaltung für Ihren RBM-Agent „&hi“ ein und senden Sie die Nachricht an Ihren Agent. Dadurch wird das Werbeangebot aus dem Standard-Begrüßungs-Intent ausgelöst. Klicken Sie auf den Vorschlag „Website ansehen“. Die Website wird im Browser geöffnet und es wird keine Agent-Antwort gesendet.

Fertig!

Dauer: 1:00

Gut gemacht!

Sie haben jetzt alle Phasen des Erstellens eines einfachen RBM-Agents durch Dialogflow durchlaufen.

Weitere Informationen finden Sie in unserem erweiterten Codelab.

Viel Spaß bei der Entwicklung für diese spannende neue Plattform!