Sequenz-Flow-Intents erstellen

Nachdem Sie Ihre Sequenzentität erstellt haben, können Sie die Intents erstellen, um die Sequenz vom Endnutzer zu erfassen. Sie benötigen mindestens drei Intents mit diesen Verantwortlichkeiten:

  1. Einen Hauptintent „Sequenz“:
    • Erfasst Äußerungen, um die Sequenzsammlung zu starten.
    • Wird durch Follow-up-Ereignisse aufgerufen, um weitere Sequenzen zu erfassen, bis der Endnutzer sagt, dass sie fertig sind.
  2. Kontextuelles Intent „Sequenzierung – Bearbeiten“
    • Erfasst Äußerungen, um die letzte erfasste Sequenz zu korrigieren.
    • Programmatische Schleifen zurück zum „Sequenz“-Intent, um die korrigierte Sequenz zu sammeln.
  3. Kontextuelles Intent „Sequenz – Fertig“
    • Erfasst Äußerungen, die anzeigen, dass die Sequenz abgeschlossen ist.

Im nächsten Abschnitt erfahren Sie, wie der Webhook alle miteinander verbindet. Zuerst müssen wir jedoch die Intents einrichten.

„Sequenz“-Intent erstellen

Dies ist der Haupt-Intent zum Erfassen von Sequenzen. Konfigurieren Sie es so:

  1. Lassen Sie die Eingabekontexte leer, damit Endnutzer diesen Intent zu Beginn des Aufrufs auslösen können.
  2. Fügen Sie den Ausgabekontext „collecting-sequence“ hinzu. Wir verwenden diesen Kontext, um während des Ablaufs die Korrektur und die Vervollständigung von Intents zu ermöglichen.
  3. Fügen Sie den Ausgabekontext „editing-sequence“ hinzu und setzen Sie die Lebensdauer auf 0. Wir aktivieren diesen Kontext mit einer Lebensdauer aus dem Intent „Sequenz – Bearbeiten“ im nächsten Abschnitt. Es ist wichtig, diesen Kontext zu löschen, damit der Kontext „editing-sequence“ nur unmittelbar nach dem Auslösen des Intents „Bearbeiten“ aktiv wird.
  4. Fügen Sie das Ereignis „continue-sequence“ hinzu, damit der Webhook diesen Intent in einer Schleife auslösen kann, um alle Teilsequenzen zu erfassen.

  5. Fügen Sie Trainingsformulierungen hinzu, damit der Endnutzer diesen Intent auslösen kann, um den Ablauf zu starten. In diesem Beispiel werden Formulierungen wie „Wie lautet mein Bestellstatus?“, „meine Bestellung verfolgen“, „Wo ist meine Bestellung?“ usw. verwendet.

  6. Fügen Sie einen Aktionsnamen „handle-sequence“ hinzu, damit der Webhook weiß, wann er ausgelöst werden soll. Sie codieren den Webhook im nächsten Abschnitt dieser Anleitung, nachdem alle Intents eingerichtet wurden.

  7. Fügen Sie den erforderlichen Parameter „new_sequence“ mit der RegExp-Entität hinzu, die Sie erstellt haben, um Teilsequenzen im vorherigen Abschnitt zu erfassen. Setzen Sie den Entitätstyp auf „@alphanumeric“ und den Wert auf „$new_sequence“.

  8. Fügen Sie den optionalen Parameter „existing_sequence“ mit dem Wert „#continue-sequence.existing_sequence“ hinzu, um die neue vorhandene Sequenz aus dem Ereignis zu extrahieren. Sie können den Entitätstyp leer lassen.

  9. Fügen Sie den optionalen Parameter „previous_sequence“ mit dem Wert „#continue-sequence.previous_sequence“ hinzu, um die vorherige Sequenz aus dem Ereignis zu extrahieren. Sie können den Entitätstyp leer lassen.

  10. Webhook-Aufruf für diesen Intent und Webhook-Aufruf für Slot-Füllung aktivieren

Intent „Sequenzierung – Bearbeiten“ erstellen

Dieser Intent erkennt Äußerungen, die angeben, dass die vorherige Sequenz vom Agent falsch gehört wurde. Richten Sie sie so ein:

  1. Fügen Sie den Eingabekontext „collecting-sequence" hinzu, sodass dieser Intent nur aufgerufen wird, wenn wir mitten im Sequenzablauf sind. Dies ist der gleiche Kontext, der durch den Intent „Sequence“ aktiviert wird.
  2. Fügen Sie den Ausgabekontext „editing-sequence“ für unseren Fulfillment-Webhook als Referenz hinzu. Wenn dieser Intent aktiviert wird, gibt der Webhook den Dialogflow-Intent wieder zum primären Intent „Sequence“ aus, um die nächste Sequenz zu erfassen. Der Webhook für die Slot-Füllung des Intents „Sequence“ sucht nach einem aktiven „editing-sequence“-Kontext, um dem Endnutzer eine sympathische Antwort „Bitte wiederholen“ auszugeben.
  3. Fügen Sie Trainingsformulierungen wie „Nein“, „Das ist falsch“ usw. hinzu.

  4. Fügen Sie den Aktionsnamen „handle-sequence“ hinzu. Dies ist dieselbe Aktion wie der Intent „Sequence“, sodass wir dieselbe Webhook-Logik wiederverwenden können.

  5. Fügen Sie den Parameter „new_sequence" mit dem Wert „#collecting-sequence.previous_sequence“ hinzu, um die vorherige Sequenz aus dem Kontext zu extrahieren, sodass die letzte Äußerung effektiv rückgängig gemacht wird. Hier fügen Sie Parameter „existing_sequence“ nicht hinzu, sodass der Webhook die vorhandene Sequenz mit der vorherigen überschreibt.

  6. Webhook-Aufruf für diesen Intent aktivieren.

Erstellen Sie den Intent „Sequence – Done“.

  1. Eingabekontext „collecting-sequence“ hinzufügen
  2. Fügen Sie den Ausgabekontext „collecting-sequence“ hinzu und stellen Sie die Lebensdauer auf 0 ein, um den Kontext zu löschen. Beim Löschen werden die Intents „Bearbeiten“ und „Fertig„ nicht mehr ausgelöst, nachdem der Agent die Erfassung der Sequenz abgeschlossen hat.
  3. Fügen Sie Trainingsformulierungen wie „Das wars“, „alles erledigt“ usw. hinzu.

  4. Fügen Sie den Parameter „sequence“ mit dem Wert „#collecting-sequence.existing_sequence“ hinzu, um die endgültige Sequenz aus dem Kontext zu extrahieren.

  5. Webhook-Aufruf für diesen Intent aktivieren.

Intents über Webhook verknüpfen

Jetzt haben Sie alles, was Sie zum Codieren der Logik für diese Intents benötigen. Im nächsten Abschnitt erfahren Sie, wie Sie den Webhook so programmieren, dass alle diese Kontexte, Aktionen, Parameter und Ereignisse verwendet werden, um den Sequenzvalidierungsprozess abzuschließen.