Einen Termin vereinbaren - Amazon Lex V1

Wenn Sie Amazon Lex V2 verwenden, lesen Sie stattdessen das Amazon Lex V2-Handbuch.

 

Wenn Sie Amazon Lex V1 verwenden, empfehlen wir, Ihre Bots auf Amazon Lex V2 zu aktualisieren. Wir fügen V1 keine neuen Funktionen mehr hinzu und empfehlen dringend, V2 für alle neuen Bots zu verwenden.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einen Termin vereinbaren

Der Beispiel-Bot in dieser Übung plant Termine für eine Zahnarztpraxis. Das Beispiel veranschaulicht auch die Verwendung von Antwortkarten, um Benutzereingaben mit Schaltflächen zu erhalten. Insbesondere veranschaulicht das Beispiel die dynamische Erzeugung von Antwortkarten zur Laufzeit.

Sie können Antwortkarten während der Erstellung konfigurieren (auch als statische Antwortkarten bezeichnet) oder sie dynamisch in einer AWS Lambda Funktion generieren. In diesem Beispiel verwendet der Bot die folgenden Antwortkarten:

  • Eine Antwortkarte, die Schaltflächen für Terminarten auflistet. In der folgenden Abbildung finden Sie ein Beispiel:

    Antwortkarte, auf der Sie nach der Art des zu vereinbarenden Termins und nach drei Optionen gefragt werden: Reinigung (30 Minuten), Wurzelkanalbehandlung (60 Minuten) und Zahnaufhellung (90 Minuten).
  • Eine Antwortkarte, die Schaltflächen für Termindaten auflistet. In der folgenden Abbildung finden Sie ein Beispiel:

    Antwortkarte mit Angabe des Termins und drei Optionen: 2-15, 2-16 und 2-17.
  • Eine Antwortkarte, die Schaltflächen zur Bestätigung einer vorgeschlagenen Terminuhrzeit auflistet. In der folgenden Abbildung finden Sie ein Beispiel:

    Antwortkarte mit der Aufforderung zur Bestätigung von Uhrzeit und Datum des Termins, mit zwei Optionen: Ja und Nein.

Die verfügbaren Termindaten und -uhrzeiten variieren, daher ist es erforderlich, Antwortkarten zur Laufzeit zu generieren. Sie verwenden eine AWS Lambda Funktion, um diese Antwortkarten dynamisch zu generieren. Die Lambda-Funktion gibt in ihrer Antwort an Amazon Lex Antwortkarten zurück. Amazon Lex fügt der Antwort an den Kunden die Antwortkarte bei.

Wenn ein Client (z. B. Facebook Messenger) Antwortkarten unterstützt, kann der Benutzer entweder aus der Liste der Schaltflächen auswählen oder die Antwort eingeben. Andernfalls gibt der Benutzer lediglich die Antwort ein.

Außer der im vorherigen Beispiel angezeigten Schaltfläche können Antwortkarten auch Bilder, Anhänge und andere nützliche Informationen enthalten. Informationen über Antwortkarten finden Sie unter Antwort-Karten.

In dieser Übung führen Sie folgende Aufgaben aus:

  • Erstellen und testen Sie einen Bot (mithilfe des ScheduleAppointment Blueprints). Für diese Übung verwenden Sie einen Bot-Plan, um den Bot schnell einzurichten und zu testen. Eine Liste der verfügbaren Pläne finden Sie unter Amazon Lex undAWS LambdaBlueprints. Dieser Bot ist mit einer Absicht (MakeAppointment) vorkonfiguriert.

     

  • Erstellen und testen Sie eine Lambda-Funktion (mithilfe des von Lambda bereitgestellten lex-make-appointment-python Blueprints). Sie konfigurieren die MakeAppointment Absicht, diese Lambda-Funktion als Code-Hook zur Durchführung von Initialisierungs-, Überprüfungs- und Fulfillment-Aufgaben zu verwenden.

    Anmerkung

    Die bereitgestellte Lambda-Beispielfunktion zeigt eine dynamische Konversation, die auf der simulierten Verfügbarkeit eines Zahnarzttermins basiert. In einer realen Anwendung würden Sie Termine mithilfe eines realen Kalenders vereinbaren.

  • Aktualisieren Sie die MakeAppointment Intent-Konfiguration, um die Lambda-Funktion als Code-Hook zu verwenden. Testen Sie dann die end-to-end Erfahrung.

  • Veröffentlichen Sie den Terminplan-Bot im Facebook Messenger, damit Sie die Antwortkarten in Aktion sehen können (der Client in der Amazon Lex Lex-Konsole unterstützt derzeit keine Antwortkarten).

In den folgenden Abschnitten finden Sie Übersichtsinformationen über die Pläne, die Sie in dieser Übung verwenden.

Überblick über den Bot-Blueprint () ScheduleAppointment

Der ScheduleAppointment Blueprint, den Sie verwenden, um einen Bot für diese Übung zu erstellen, ist wie folgt vorkonfiguriert:

  • Slot-Typen: Ein benutzerdefinierter Slot-Typ namens AppointmentTypeValue mit den Aufzählungswerten: root canal, cleaning und whitening.

  • Absicht: Eine Absicht (MakeAppointment), die wie folgt vorkonfiguriert ist:

    • Slots: Die Absicht ist mit den folgenden Slots konfiguriert:

      • Slot AppointmentType, von dem benutzerdefinierten Slot-Typ AppointmentTypes.

      • Slot Date, von dem integrierten Slot-Typ AMAZON.DATE.

      • Slot Time, von dem integrierten Slot-Typ AMAZON.TIME.

    • Äußerungen: Die Absicht ist mit den folgenden Äußerungen vorkonfiguriert:

      • „Ich möchte einen Termin buchen.“

      • „Buche einen Termin.“

      • „Buche ein {}AppointmentType“

      Wenn der Benutzer eine dieser Optionen ausgibt, stellt Amazon Lex fest, dass dies die Absicht MakeAppointment ist, und verwendet dann die Eingabeaufforderungen, um Slot-Daten abzurufen.

    • Aufforderungen: Die Absicht ist mit folgenden Aufforderungen vorkonfiguriert:

      • Aufforderung für den Slot AppointmentType: „Welche Art von Termin möchten Sie planen?“

      • Aufforderung zur Eingabe des Date Zeitfensters — „Wann sollte ich Ihren {} einplanen?“ AppointmentType

      • Aufforderung zur Eingabe Time des Termins — „Zu welcher Uhrzeit möchten Sie den {AppointmentType} buchen?“ and

        „Zu welcher Uhrzeit am ?“

      • Bestätigungsaufforderung: „{Uhrzeit} ist verfügbar, soll ich fortfahren und Ihren Termin buchen?“

      • Stornierungsmitteilung: „Okay, ich werde den Termin nicht planen.“

Überblick über den Lambda-Funktions-Blueprint () lex-make-appointment-python

Die Lambda-Funktion blueprint (lex-make-appointment-python) ist ein Code-Hook für Bots, die Sie mithilfe des ScheduleAppointment Bot-Blueprints erstellen.

Dieser Blueprint-Code für Lambda-Funktionen kann sowohl Initialisierungs-/Validierungs- als auch Erfüllungsaufgaben ausführen.

  • Der Lambda-Funktionscode zeigt eine dynamische Konversation, die auf der Beispielverfügbarkeit für einen Zahnarzttermin basiert (in realen Anwendungen könnten Sie einen Kalender verwenden). Für den Tag oder das Datum, das der Benutzer angibt, wird der Code wie folgt konfiguriert:

    • Wenn keine Termine verfügbar sind, gibt die Lambda-Funktion eine Antwort zurück, in der Amazon Lex angewiesen wird, den Benutzer nach einem anderen Tag oder Datum zu fragen (indem der dialogAction Typ auf gesetzt wird). ElicitSlot) Weitere Informationen finden Sie unter Reaktion-Format.

    • Wenn an dem angegebenen Tag oder Datum nur ein Termin verfügbar ist, schlägt die Lambda-Funktion die verfügbare Zeit in der Antwort vor und weist Amazon Lex an, eine Benutzerbestätigung einzuholen, indem das dialogAction in der Antwort auf ConfirmIntent festgelegt wird. Dies veranschaulicht, wie Sie die Benutzererfahrung verbessern können, indem sie die verfügbare Uhrzeit für einen Termin proaktiv vorschlagen.

    • Wenn mehrere Termine verfügbar sind, gibt die Lambda-Funktion in der Antwort an Amazon Lex eine Liste der verfügbaren Zeiten zurück. Amazon Lex gibt eine Antwort mit der Nachricht der Lambda-Funktion an den Client zurück.

  • Als Fulfillment-Code-Hook gibt die Lambda-Funktion eine zusammenfassende Meldung zurück, die angibt, dass ein Termin geplant ist (d. h., dass die Absicht erfüllt ist).

Anmerkung

In diesem Beispiel wird gezeigt, wie Antwortkarten verwendet werden. Die Lambda-Funktion erstellt eine Antwortkarte und sendet sie an Amazon Lex zurück. Die Antwortkarte listet verfügbare Tage und Uhrzeiten als Schaltflächen zur Auswahl auf. Wenn Sie den Bot mit dem von der Amazon Lex Lex-Konsole bereitgestellten Client testen, können Sie die Antwortkarte nicht sehen. Um sie zu sehen, müssen Sie den Bot mit einer Messaging-Plattform integrieren, wie etwa Facebook Messenger. Detaillierte Anweisungen finden Sie unter Integration eines Amazon Lex Lex-Bot mit Facebook Messenger. Weitere Informationen über Antwortkarten finden Sie unter Verwalten von Mitteilungen .

Wenn Amazon Lex die Lambda-Funktion aufruft, werden Ereignisdaten als Eingabe übergeben. Eines der Ereignisfelder istinvocationSource, das die Lambda-Funktion verwendet, um zwischen einer Eingabevalidierung und einer Fulfillment-Aktivität zu wählen. Weitere Informationen finden Sie unter Eingabe-Ereignis-Format.

Nächster Schritt

Schritt 1: Erstellen Sie einen Amazon Lex Lex-Bot